4.43 out of 5
2278 reviews on Udemy

Java from Zero to First Job – Practical Guide, 600+ examples

Learn Java from scratch and become Java Software Engineer: Basics, OOP, Interview questions, Git, Java Collections etc
Andrii Piatakha
198,883 students enrolled
English [Auto]
Java :)
Students will learn programming basics which will help them to understand any other programming language
Interview practice tests
In this course you will get knowledge which is needed to proceed with understanding of Android, Spring Framework and other enterprise frameworks
Object-oriented programming
Learn the Java basics, including syntax and primitive data types
Get necessary knowledge to demonstrate your skills of Java to future employers
Understand difference between Java 8, 9, 11, 13
Learn best practices from true programmer
Learn how to write scalable, readable and maintainable clean code
30+ coding exercises
You will learn source code of the tutor. All homework is completed with the Trainer
Learn how to use integrated development environments to create Java programs
Debugging tools
Eclipse IDE
SOLID principles
Java Collections Framework
Implementations of the List interface
Map Interface and Implementations
Set Interface and Implementations
Best practices of using collections
Performance comparision of different collections
Functional programming in Java
Lambda functions
Method references
Clean Architecture Design
GoF Patterns (Creational, Structural and Behavioral)
Test-driven development
Integration Testing
JUnit 5

This is the first part of fundamental training program ‘Java from Zero to First Job’.  As it’s declared in the course name, it’s created for people who want to learn programming from scratch. You need to know how to turn on your computer, no other knowledge is required for this course 🙂 The rest will be covered in lessons.

Before starting creation of this course, our team attentively investigated feedbacks for existing courses on Udemy platform and tried to focus on the feedbacks for the top-rated courses to understand what can be improved in this course and make it even more better from the quality standpoint. After analysis, we understand what will help students to learn Java in more efficient way. In this course:

– High concentration of useful material in each lesson

Sometimes you can notice that watching of 5 minutes of our lesson is equivalent to watching of other 30 minutes lesson.

This is because time spent for preparation for the lesson (script for the lesson, lesson structure) and video editing (to cut boring pieces of the lesson, or time when program loads) sometimes 10 times as much (sometimes even 20) as final lesson duration after video editing.

Only your homework and coding exercises including EXAM task might take approximately 20 hours to implement.

Also each topic is separated from another. In case some concept will be explained in the next lesson and you don’t need to worry about understanding this in scope of this lesson – instructor will make announcement when specific topic will be covered.

Go and try it yourself! We will appreciate your feedback.

– Relevant knowledge

After our team investigated other Java courses on Udemy we realized that most of them has nothing in common with real life. Information which is shared there is very old and significantly out of date. For example, instructor teaches framework which is not used already for 15 years. Or instructor do a stress on the programming design which is not used anymore at all!

Instructor of this course is consultant in the top-rated IT outsourcing company and helps to bring cutting-edge solutions in IT for all his clients. Feel free to check LinkedIn page of instructor and check skills endorsement. More than 18 thousand people acrooss all over the world (BTW most of them are from top 100 companies of the world) evaluated skills of Andrii Piatakha.

With this course you can be sure that you will spend your time learning the right things from the one of the best IT consultants in the world.

– Sequence of lessons

After the years of teaching offline, and based on the feedbacks of students who are passing online courses we realized how important the sequence of lessons while teaching Java. The same issue is with the books where information is completely unstructured what makes things even more complex. For example, how students can learn object oriented programming from the first lesson if they don’t know yet the java syntax basics? Or how student can implement hometask if he/she doesn’t aware of java methods specifics, or doesn’t know yet how to read program input?

So in this course you can be sure, that you will not get hometask to implement without having enough information to implement it. The program which is in this course is proven by many students who completed it offline and now work as software engineers in outsourcing companies and as a freelancers.

– Interview practice tests

Being an IT consultant in different companies, tutor of this course was in charge ot driving interview process in companies to make sure, that company selects the best people. That’s why the first interview is always test. In case test is completed, candidate is invited to have a conversation. That’s why, in this course we want to prepare you to complete tests sucessfully!

Specially for our students, we prepared tests which could be used to evaluate your knowledge during the interview process.

2 tests. 90 questions each (180 interview tests in total). 120 minutes each.

You can read explanation to answers! That also can help you to learn material better. Don’t wait, try it now!

– Q&A support

The significant difference between online and offline learning process is instructor’s availability. If you are in the one room with tutor he always can help you to get understanding specific concept or to help fix your code on your computer.
In this course, we are supporting students with answers to any questions flagged in Q&A section. In case there will be recurring questions – separate video lessons will be created to show how to address issue.

So with this course you are not just getting video materials, code exercises, source code, access to free mobile application without limits (which is still pretty cool, huh? 🙂 ) , but you also get tutor support and answers to your questions along with this course.

– Open source code

We hide nothing from our students! Including the source code for the hometask solutions and source code of examples which were shared during the lesson. Having the source code you can just copy and paste it to run it on your local computer to understand how things work better.

– Free mobile App without limits for our students

Knowing Java is one skill. Be able to pass interview in company – that is another skill 🙂 Nowadays a lot of companies use tests to select candidates on the first level of interview. We developed application to practice skills specifically for such purposes.

In this course we will provide you link to download our FREE mobile app for android. (soon it will be also available for iOS platforms)

Instructor of this course come up with hundreds tests which are used to test knowledge of candidates. With this application you will be well-prepared for the interview.

Also, only for our students – there is no limit on attempts to pass certification. In the course we will tell you how to set up special bonus code which will remove restrictions for our students inside the app.

– Coding exercises

To learn programming it is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course you will have different practical tasks which will help you learn and understand Java better.

One of the key tasks where you can practice your knowledge is implementation of backend system for online store. Also you have a lot of tasks that use domain specific terminology: accounts, transactions, users, carts, menu, services etc. So that means you are learning programming without abstract concepts like it is written in the books or in other courses. You learn domain specific terminology and during the lessons we investigate specific extracts from code that can give you clear vision how you can apply the knowledge in real life.

As you can see from curriculum, in this part of fundamental training program you will learn how to install JDK on your computer, you will learn a lot about IDE where you can write you programs, you will learn Java syntax, primitive types of data, loops, control statements, arrays, operations with primitive and reference types of data, String, Enum, how to write methods in Java, different number systems, tips and tricks, practical coding exercises, debugging tools, Object-Oriented Programming, Git , Java Collections Framework, Collections, Maps, functional programming, lambda functions, method references and lots more.

So don’t wait! Take a look at lessons’ preview if you still have doubts!

Buy this course today, and you will get all updates for FREE!

Right now our team keep working on the next lessons for this course. We are preparing for you a lot of other topics and coding exercises! Our goal – to create web application together with you. Buy this course today, and you will receive all updates for free! Isn’t that cool? 🙂

For those who successfully passed this training course, or for students who was recognized for asking amazing questions, there is a special offer from IT-Bulls company! The creator of this course is IT-Bulls company CEO and Founder. We always in search of talents to run our amazing startups together with you. Probably you always dreamed about running your own startup? In this course you will be able to find the team who will teach you how to do that and (in particular cases) will be glad to help with implementation!

Hope you enjoy this course! And remember, we appreciate all your feedbacks! Your feedbacks will help us to become even more better! Your feedbacks will help us to create to best Java course ever!

See you on the lessons! 🙂


How to use captions

This video course has manually created captions, but not auto-generated.

In the lessons you are going to hear domain-specific terminology. In case something will be unclear, or you would like to know just how to spell new word - you can always turn on captions.

In this short lesson we will review how you can use captions during the training course.

Why Java and why this course? What is JDK, JRE and JVM?

From this lecture you will learn:

• Java History

• Why Java

• What you can implement with Java

• This training course structure

• Opportunities after this course

• What is JVM

• What is JRE

• What is JDK

Communication plan

From this lecture you will learn:
• How to communicate during this course

• Where to ask questions

• How to ask questions

• Communication channels

Unlimited access to 'Learn IT' application for students

From this lecture you will learn:

• Where to find good tests to verify your knowledge

• How to get unlimited access to Learn IT application (only for my students from Udemy)


JDK Installation

From this lecture you will learn:

• How to chose JDK version

• Difference between openjdk and oraclejdk

• How to install jdk on computer

• How to configure environment variables

First application: Hello World App

From this lecture you will learn:

• What are console applications

• How to compile .java files to bytecode

• Basic Syntax

• How to create ‘Hello World’ app on Java

• What are compilation errors

• How to execute our programs on JVM

Hello World: .bat or .sh
Homework Solution: .bat file creation

In the lesson we will solve homework together with and we will write batch script from scratch to compile your source code and run Hello World application.

Integrated Development Environment, Eclipse Overview

From this lecture you will learn:

• What is IDE

• What are the most popular IDE for Java development

• Eclipse for Java EE developers: Overview

• Eclipse Java Project

• What is a package

Comments in Java source code

From this lecture you will learn:

• What are comments

• What are types of comments in Java source code

• Java Doc

• Tips and best practices

Primitive Data Types, Variables and Arrays

Primitive types and variables

From this lecture you will learn:

• What data types exists in Java

• What are primitive types

• Integers

• Floating-point numbers

• Characters

• Boolean

• Primitive types conversion

• What are variables

• 'var' variables

• Java keywords

Number Systems

From this lecture you will learn:

• Number Systems

• Binary number system

• Octal number system

• Hexadecimal number system

• How to convert from one system to another

• Binary, octal and hexadecimal literals in Java


From this lecture you will learn:

• Arrays: overview

• One-dimensional arrays

• How to access elements in arrays

• Default values for elements in array

• ArrayIndexOutOfBoundsException

• Array literal

• Multidimensional arrays

•‘ null’ values

• java.util.Arrays

• import statement

• How to investigate JDK source code

Eclipse: Tips and Tricks

Packages: creation and package presentation in eclipse

From this lecture you will learn:

- how to create packages in eclipse

- how to configure package presentation in eclipse

- what is flat and hierarchical package presentation

- how to create nested packages

- how to create package during class creation

Plugins: how to install free plugins, eclipse marketplace, workspace styles

From this lecture you will learn:

- What are eclipse plugins?

- How to install free plugins?

- Eclipse marketplace

- How to change style of the workspace

Code Refactoring in Eclipse

From this lecture you will learn:

• How to rename multiple items at once

• Code formatting

• Configure formatting rules

• Extract variable from expression

• Extract method from multiple statements

• Import optimization

Operators and Operations with primitive types

Operators in Java

From this lecture you will learn:

• What are operators?

• Type of operators

• Arithmetic operators

• Assignment operators

• Relational operators

• Logical operators

• Bitwise operators

• Ternary operator

• Operator precedence

Operations with integers and floating-point numbers, BicDecimal type

From this lecture you will learn:

• Dividing of integers specifics

• Subtraction of floating-point numbers specifics

• BigDecimal type

• How to control precision of arithmetic operations

Math class, NaN, Infinity

From this lecture you will learn:

• java.lang.Math class overview

• How to perform basic mathematical operations

• Rounding

• Random number generation

•  NaN - what is not a number?

•  Infinity - what is 'infinity'?

•  How to find max and min value?

•  How to find square root?

Type of the expression in Java

From this lecture you will learn:

• What is expression

• What is statement

• Type of the expression in Java

• Concatenation with String

Compare primitive and reference types & Java Memory Model

From this lecture you will learn:

• How to compare primitives

• How to compare reference types

• Java Memory Model: Heap and Stack in Java

• Integer pool

• equals() method

• How to compare arrays

Read user input from console

From this lecture you will learn:

• How you can read input from the console

• What is System.in

Simple console integer calculator
Calculate Area of Triangle
Calculate Circle Circumference
Homework review: Operators and Operations

From this lecture you will learn:

• How to run programs with arguments

• Project Explorer VS Navigator view in Eclipse

• How to run JVM with arguments

• How to set up maximum heap size for JVM

• Solutions for coding exercises

Strings in Java

String: object creation and main methods overview

From this lecture you will learn:

• java.lang.String class overview

• Main String methods

• How to create String objects

String comparison: How to compare Strings and what is String Pool?

From this lecture you will learn:

• String pool

• String comparison

Escape Sequences in Java

From this lecture you will learn:

• What are escape sequences?

• What  escape sequences are available in Java?

• Unicode characters escaping

String Formatting

From this lecture you will learn:

• How to format string

• What are format specifiers?

• How to use Formatter?

• When need to format strings?

Regular expressions in Java

From this lecture you will learn:

• What are regular expressions?

• When to use regular expressions?

• Why we need regular expressions?

• How to write regular expressions in Java?

• Pattern and Matcher objects in Java

• How to find words in String

Format floating-point number
Split Words
Homework review: String

In this lesson you will see one of the way to solve home tasks. Best practices will be shared. POSIX groups will be discussed.

Control Statements

'if - else' construction

From this lecture you will learn:

• How to use 'if' statement

• Syntax of 'if' statement

• Nested 'if' statements

• 'if-else-if' ladder

Admin and Guest mode for application
Simple Number Calculator
Homework review: 'if' statement

In this lesson you will find solution for coding exercises from 'if' statement topic

'switch' construction

From this lecture you will learn:

• How to use 'switch' statement

• Syntax of 'switch' statement

• Type of expression to be used in 'switch'

• 'break' statement

• 'default' statement

• 'switch' vs 'if statement

User Activity Selector
Homework review: 'switch' statement

In this lesson you will find solution for 'swtich' statement homework.


Random numbers generation

From this lecture you will learn:

• How to generate random numbers?

• What is java.util.Random type?

• API of java.util.Random

• How to generate random numbers in specific range of values

Iteration Statements (Loops) in Java

'while' loop

From this lecture you will learn:

• What are iteration statments in Java?

• When we need to use iteration statements in Java

• Examples of loops in Java

• 'while' loop

'do-while' loop

From this lecture you will learn:

• How to use 'do-while' loop

• Usage of ´do-while´ loop - examples

• When to use 'do-while' over 'while' loop

'for' with condition loop

From this lecture you will learn:

• How to use 'for' with condition loop

• Examples of the use

• Comma in for loop

'for each' loop

From this lecture you will learn:

• How to use 'for each' loop

• Examples of the use

• Shortcut in eclipse to create 'for each' loop

Nested loops

From this lecture you will learn:

• How you can put one loop inside another one

• When you need to use nested loops

Jump Statements - Break and Continue

From this lecture you will learn:

• What are jump statements

• Continues statement

• Break statement

Labels in Java

From this lecture you will learn:

• What is goto statement in programming?

• Labels in Java

• How to use labels in Java

Print digits from new line
Pyramid in console
Print matrix to console
Homework review: Iteration Statements (Loops)

In this lesson we will review solution for coding exercises.


Methods in Java: Overview

From this lecture you will learn:

• What are methods

• How to declare a method

• What is method signature

• What is method overloading

• How to call method

Parameter Passing Mechanism in Java

From this lecture you will learn:

• Passing data by value

• Passing data by reference

• Passing primitive types to method in Java

• Passing reference types to method in Java

Recursive methods

From this lecture you will learn:

• What is recursion

• What are recursive methods

• How to write recursive methods

• When do we need recursive methods

• Pros and cons of recursive methods

Variable Length Arguments

From this lecture you will learn:

• What are variable-length arguments

• Syntax of varargs

• Varargs in the methods

Find max int in array
Draw empty rectangle
Calculate Amount of Words
Filter String array
Rotate Matrix
Extend Array
Greatest Common Divisor
Sum all digits in number
String Processor
Turn each first letter in the word to capital
Convert decimal to Roman numbers and vice versa
Homework review: Methods

In this video we will review coding exercises from this section

Enumerations in Java

Enumerations in Java

From this lecture you will learn:

• What is Enum type

• How to declare Enum type

• How to initialize Enum variables

• How to compare Enum types

• Iteration over Enum constants

• Custom properties of Enum

• Custom methods of Enum

Message type priority

Debugging Tools

How to debug Java programs

From this lecture you will learn:

• What is a debugger

• Why do we need to debug our programs

• How to debug java program in Eclipse

• How to analyze program execution

• How to adjust program execution in debug mode if needed

• What are breakpoints

Object-oriented programming

Object-oriented programming: Basics

From this lecture you will learn:

• What is OOP

• What is an object

• Class

• Why do we need OOP

• OOP advantages

• OOP VS Functional programming

• Inheritance

• Encapsulation

• Polymorphism

• Abstraction

Classes & Objects

From this lecture you will learn:

• What does class consist of

• Fields

• Initialization blocks

• Constructors

• Methods

• Nested classes

• Getters and setters

• toString() method

• How to create object

Different types of Classes, Abstract keyword and Abstract classes

From this lecture you will learn:

• Concrete classes

• Nested classes

• Final classes

• POJO classes

• Abstract classes

• Anonymous classes

• Abstract keyword


From this lecture you will learn:

• What are interfaces

• What does interface consist of

• Abstract class VS Interface

• Interface VS Class VS Type


From this lecture you will learn:

• What is inheritance

• ‘super’ keyword

• ‘instanceof’ operator

• How to extend classes

• Inheritance rules

Polymorphism and 'final' keyword

From this lecture you will learn:

• What is polymorphism

• Method overriding

• Override VS Overload

• Dynamic binding

• ‘final’ keyword

'static' keyword

From this lecture you will learn:

• What is ‘static’ keyword

• Where we can use ‘static’ keyword

• Static methods

• Static fields

• Static import

• Static VS dynamic binding


From this lecture you will learn:

• What is encapsulation

• Access modifiers

• Which modifiers to use and when

• Rules during overriding

Object, JNI and Object class overview

From this lecture you will learn:

• What is an object

• Object class overview


• ‘native’ keyword

• @Deprecated annotation

SOLID principles overview & Single Responsibility Principle

From this lecture you will learn:

• What are SOLID principles

• SOLID principles in OOP

• Single responsibility principle

Open / Closed Principle

From this lecture you will learn:

• Open / closed principle

• Code examples

Liskov Substitution Principle

From this lecture you will learn:

• Liskov substitution principle

• Code examples

Interface Segregation Principle

From this lecture you will learn:

• Interface segregation principle

• Code examples

Dependency Inversion Principle

From this lecture you will learn:

• Dependency inversion principle

• Code examples

Practice: EXAM OOP & Object Oriented e-Commerce console applications

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.4 out of 5
2278 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
Course available for 2 days
30-Day Money-Back Guarantee


29 hours on-demand video
2 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion

External Links May Contain Affiliate Links read more

Never Miss Any Course Join Our Telegram Channel Join Channel
+ +