Java Programming Masterclass for Software Developers
4.6 (119,983 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
487,937 students enrolled

Java Programming Masterclass for Software Developers

Learn Java In This Course And Become a Computer Programmer. Obtain valuable Core Java Skills And Java Certification
4.6 (119,983 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
487,937 students enrolled
Last updated 8/2020
Current price: $104.99 Original price: $149.99 Discount: 30% off
23 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 80 hours on-demand video
  • 2 articles
  • 1 downloadable resource
  • 36 coding exercises
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Learn the core Java skills needed to apply for Java developer positions in just 14 hours.
  • Be able to sit for and pass the Oracle Java Certificate exam if you choose.
  • Be able to demonstrate your understanding of Java to future employers.
  • Learn industry "best practices" in Java software development from a professional Java developer who has worked in the language for 18 years.
  • Acquire essential java basics for transitioning to the Spring Framework, Java EE, Android development and more.
  • Obtain proficiency in Java 8 and Java 11.
Course content
Expand all 400 lectures 80:20:04
+ Course Introduction
6 lectures 16:39
Remaster in Progress
Video Quality
How to Get Help
Important Tip - Source Code
+ Software Tools Setup
11 lectures 32:41
Biggest Tip to Succeed as a Java Programmer
Being Persistent and the Four Stages of Becoming a Programmer videos
Software Tools Introduction
Java Development Kit Installation Overview
Install JDK 11 for Windows
Installing Intellij IDEA for Windows
Install JDK 11 for Mac
Installing Intellij IDEA for Mac
Install JDK 11 for Linux
Installing Intellij IDEA for Linux
Configure IntelliJ IDEA
+ First Steps
24 lectures 02:47:29
Hello World Project
Defining the Main Method
Hello World Challenge and Common Errors
Starting out with Expressions
Primitive Types
byte, short, long and width
Casting in Java
Primitive Types Challenge
float and double Primitive Types
Floating Point Precision and a Challenge
The char and boolean Primitive Data Types
Primitive Types Recap and the String Data Type
Operators, Operands and Expressions
Abbreviating Operators
if-then Statement
Logical and Operator
Logical OR Operator
Assignment Operator VS Equals to Operator
Ternary Operator
Operator Precedence and Operator Challenge
First Steps Summary
End of Remaster
+ Java Tutorial: Expressions, Statements, Code blocks, Methods and more
19 lectures 03:23:03

An introduction to this section of the course dealing with Expressions, Statements, Code blocks and Methods.


In this video we will learn about Java keywords as well as what makes up an expression. You will find out the keywords that Java has already reserved, how Java lets you know that these keywords are reserved, and you will get to know what a valid expression looks like. A Challenge is at the end of the video to assist your understand of these important concepts.

Preview 07:18

In this lecture we will discuss what statements are, and how to construct them. We will then move to finding out how Java treats whitespaces (and what it is) and how indenting your code makes for a better programming experience.

Statements, Whitespace and Indentation (Code Organization)

Lets discuss code blocks, what they are, how to put a code block together, and why you would want to use one. We will cover the if then else statement, and how this applies to programming and finish off with a challenge to help you understand the concepts taught in the video.

Code Blocks And The If Then Else Control Statements
if then else Recap

A very important concept in Java are Methods. In this video lecture you will learn what they are, how to create them, and why they are integral to Java (and programming in general). We will go through what a method is comprised of, and the advantages of using them and how to have them perform constructive tasks in your Java programs.

Methods In Java
In this video we continue exploring methods, and end with a method challenge to assist in your understanding of them.
More On Methods And A Challenge
Method Challenge - Final Code Changes
DiffMerge Tool Introduction
Install DiffMerge
Using DiffMerge
Coding Exercises
Coding Exercises Example Part 1
Coding Exercises Example Part 2
Coding Exercises Example Part 3
Speed Converter
1 question
MegaBytes Converter
1 question
Barking Dog
1 question
Leap Year Calculator
1 question
1 question
Equal Sum Checker
1 question
Teen Number Checker
1 question

Method overloading allows you to duplicate your methods with the same name. In this video you will find out how to do this, and why you would want to do it, and how its used frequence in Java development. We will end with an advanced challenge to test your knowledge.

Method Overloading
Method Overloading Recap
Seconds and Minutes Challenge
Bonus Challenge Solution
Area Calculator
1 question
Minutes To Years and Days Calculator
1 question
Equality Printer
1 question
Playing Cat
1 question
+ Control Flow Statements
14 lectures 02:56:54

Get the basic understanding on what this section will cover with regards to Control Flow Statments


We learn about the switch statement in Java in this video, and its role in controlling the flow of your programs. Plus apply the skills you have learned with a challenge exercise.

The switch statement (+Challenge Exercise)
Day of the Week Challenge
Number In Word
1 question
Number Of Days In Month
1 question

The for statement is extremely popular and useful in Java. Lets explore how to use it in this video. Plus apply the skills you have learned with a challenge exercise.

The for Statement (+Challenge Exercise)
For Loop Recap
Sum 3 and 5 Challenge
Sum Odd
1 question

To other major control flow statements in Java are the while and do while statements. Lets explore both in this video. Plus apply the skills you have learned with a challenge exercise.

The while and do while statements (+Challenge Exercise)
While and Do While Recap
Digit Sum Challenge
Number Palindrome
1 question
First And Last Digit Sum
1 question
Even Digit Sum
1 question
Shared Digit
1 question
Last Digit Checker
1 question
Greatest Common Divisor
1 question
All Factors
1 question
Perfect Number
1 question
Number To Words
1 question
Parsing Values from a String
Flour Pack Problem
1 question
Largest Prime
1 question
Diagonal Star
1 question
Reading User Input
Problems and Solutions
Reading User Input Challenge
Min and Max Challenge
Input Calculator
1 question
Paint Job
1 question
+ OOP Part 1 - Classes, Constructors and Inheritance
14 lectures 02:36:12

An introduction to this section of the course dealing with Object Oriented Programming, specifically, Classes, Objects, Constructors and Inheritance.


Lets kick off our study of object oriented programming with classes in this video.

Preview 16:31

Lets continue on with our discussions about Classes in Java in this video.

Classes Part 2
Sum Calculator
1 question
1 question

Lets look at Constructors and their importance to creating classes in Java in this video. Plus apply the skills you have learned with a challenge exercise.

Constructors - Part 1 (+Challenge Exercise)

More discussions about Constructors in this video.

Plus apply the skills you have learned with a challenge exercise.

Constructors - Part 2 (+Challenge Exercise)
Wall Area
1 question
1 question
Carpet Cost Calculator
1 question
Complex Operations
1 question

Inheritance is a very important concept in OOP. Lets explore it and its role in Java in this video.

Inheritance - Part 1

Continuing on with our inheritance discussions from the previous video, we look at more advanced concepts in this video.

Inheritance - Part 2
Reference vs Object vs Instance vs Class
this vs super
Method Overloading vs Overriding Recap
Static vs Instance Methods
Static vs Instance Variables

Its challenge time, lets look at understanding what we have learned about Inheritance with a challenge in this video.

Inheritance Challenge Part 1 (+Challenge Exercise)

Finishing off the solution to the inheritance challenge raised in the last video.

Inheritance Challenge Part 2
1 question
Pool Area
1 question
+ OOP Part 2 - Composition, Encapsulation, and Polymorphism
9 lectures 02:19:39

An introduction to this section of the course dealing with Composition, Encapsulation and Polymorphism.


The second major component of OOP is composition. Lets explore that concept in this video.


Lets finish off our study of composition in Java in this video. Plus apply the skills you have learned with a challenge exercise.

Composition Part 2 (+Challenge Exercise)

Have an understanding about one of the fundamental object oriented programming which is encapsulation


Continuation on the discussion of encapsulation

Encapsulation (+Challenge Exercise)

Lets go through Polymorphism.

Preview 20:35

Continue with the discussion on Polymorphism and take on the challenge.

Polymorphism (+Challenge Exercise)

Part 1 of the Master challenge for object oriented programming to help you understand what has been taught in this and the previous sections of the course.

OOP Master Challenge Exercise

Part 2 of the Master challenge for object oriented programming.

OOP Challenge - Solution
+ Arrays, Java inbuilt Lists, Autoboxing and Unboxing
24 lectures 05:48:47

Its time to get an overview of Arrays, what they are, and how to use them.


Get to know more about Arrays by taking on this challenge exercise.

Arrays (Challenge Exercise)
Arrays Recap
References Types vs Value Types
Minimum Element Challenge
Reverse Array Challenge

Get to know the concept of Lists and ArrayList in Java.

List and ArrayList Part 1
ArrayList Part 2

Part 3 of ArrayList

ArrayList Part 3

ArrayList Challenge Part 1

ArrayList Challenge Part 1

Part 2 of the ArrayList Challenge

ArrayList Challenge Part 2

Final video of the ArrayList challenge.

Preview 10:49
Bug Fix for ArrayList Challenge

What Autoboxing and Unboxing is.

Autoboxing and Unboxing

Part 1 of the Autoboxing/Unboxing Challenge

Autoboxing & Unboxing (Challenge Exercise) - Part 1

Part 2 of the Autoboxing & Unboxing Challenge.

Autoboxing & Unboxing (Challenge Exercise) - Part 2

Part 3 of the Challenge for Autoboxing and Unboxing

Autoboxing & Unboxing (Challenge Exercise) - Part 3

Part 1 of the Autoboxing/Unboxing Challenge

Preview 16:43

Part 2 of the discussion on about Linked List and to show you examples on using it on Java.

LinkedList Part 2

Part 3 on the discussions of Linked Lists.

LinkedList Part 3

Now that you have understand Linked List now its time to apply it to a challenge.

LinkedList Challenge Part 1
Bug Fix for "Track 1" Error

Continuation of the Linked Lists challenge.

LinkedList Challenge Part 2

The Final Part of the Linked Lists challenge.

LinkedList Challenge Part 3 (Final video)
+ Inner and Abstract Classes & Interfaces
13 lectures 03:02:56

Get the basic understanding about Interfaces in Java.


Continuation on the lecture on about Interfaces.

Interfaces Part 2

Now we have learn about interfaces it is now time to take on the Interface challenge exercise.

Interfaces Challenge Part 1

Part 2 of the Interface challenge exercise.

Interfaces Challenge Part 2

Understand the concept of nesting a class within a class with Inner Classes.

Inner classes Part 1

Continuation of the Inner Classes discussion.

Inner Classes Part 2

It is time to put what you have learned with Inner Classes with this challenge.

Inner Classes Challenge

Get to know more about Abstraction in this lecture.

Preview 16:42

Part 2 of the Abstraction discussion, as well as discussions on how it is different to an interface and when to use an interface or an abstract class. And also the challenge for the Abstract Class.

Abstract Classes Part 2
Interface vs Abstract Class

Find out the solution to the Abstract Class Challenge that was show in the previous video.

Abstract Class Challenge Part 1

Continuation of the Abstract Class Challenge and also some discussions on the code that were actually typed.

Abstract Class Challenge Part 2

Final part of the Abstract Class Challenge and also discuss on the differences on the implementation of the add item, remove item, and traverse.

Abstract Class Challenge Part 3 (includes recursion).
+ Java Generics
5 lectures 01:05:07

Get a basic understanding on Java Generics, what it is? and why should you use them?

Preview 11:12

In this lecture we will look at creating our own Generic classes.

Our Generics Class

Continuation in the creating our own Generics class, and also tackle the problem of making a team only accept a player of a particular type.

Our Generics Class Part 2

Final part of creating our own Generics Class discussion.

Our Generics Class Part 3

It is now to put all that you have learned from the Generics lectures and put it in this challenge.

Generics Challenge
  • A computer with either Windows, Mac or Linux to install all the free software and tools needed to build your new apps (I provide specific videos on installations for each platform).
  • A strong work ethic, willingness to learn, and plenty of excitement about the awesome new programs you’re about to build.
  • Nothing else! It’s just you, your computer and your hunger to get started today.

You’ve just stumbled upon the most complete, in-depth Java programming course online. With over 480,000 students enrolled and tens of thousands of 5-star reviews to date, these comprehensive java tutorials cover everything you’ll ever need.

Whether you want to:

- build the skills you need to get your first Java programming job

- move to a more senior software developer position

- pass the oracle java certification exam

- or just learn java to be able to create your own java apps quickly.

...this complete Java Masterclass is the course you need to do all of this, and more.

Are you aiming to get your first Java Programming job but struggling to find out what skills employers want and which course will give you those skills?

This course is designed to give you the Java skills you need to get a job as a Java developer.  By the end of the course, you will understand Java extremely well and be able to build your own Java apps and be productive as a software developer.

Lots of students have been successful in getting their first job or promotion after going through the course.

Here is just one example of a student who lost her job and despite having never coded in her life previously, got a full-time software developer position in just a few months after starting this course.  She didn't even complete the course!

"Three months ago I lost my job, came to a turning point in my life, and finally made the drastic decision to completely change course.   I decided to switch career path and go into coding. My husband found and gave me your Complete Java Masterclass at Udemy as a gift, and I wholeheartedly dove into it as a life line. Following your course has been absolutely enjoyable (still working on it, not yet finished), and has been a great way of keeping on course, dedicated and motivated.  Yesterday, three months after starting the course and honestly to my surprise, I received (and accepted!) a job offer as a full-time developer. I wanted to just drop you a line to say thank you for doing this work, for being such a dedicated teacher, and for putting all this knowledge available out there in such an approachable way. It has, literally, been life changing. With gratitude,  Laura"

The course is a whopping 80 hours long.  Perhaps you have looked at the size of the course and are feeling a little overwhelmed at the prospect of finding time to complete it.   Maybe you are wondering if you need to go through it all?

Firstly, Laura's story above shows that you do not have to complete the entire course - she was yet to complete the course when she accepted her developer job offer.

Secondly, the course is designed as a one-stop-shop for Java.

The core java material you need to learn java development is covered in the first seven sections (around 14 hours in total).  The Java Basics are covered in those sections. The rest of the course covers intermediate, advanced, and optional material you do not technically need to go through.

For example section 13 is a whopping 10 hours just by itself and is aimed at those students who want to build desktop applications with graphical user interfaces.  JavaFX (which is the technology used in this section) is something that most java developers will rarely or never need to work on.  So you could skip that section entirely.  But if you are one of the few that need to build user interfaces, then the content is there and ready for you.   And there are other sections you can completely avoid if you wish.

If you want to know absolutely everything about Java, then you can go through the entire course if you wish, but it's not necessary to do so if you are just looking to learn the essential information to get a java developer position.

Why would you choose to learn Java?

The reality is that there is a lot of computer languages out there.  It's in the hundreds.  Why would you choose the Java language?

The number one reason is its popularity.  According to many official websites that track the popularity of languages, Java is either #1 or in the top 3.  Popularity means more companies and their staff are using it, so there are more career opportunities available for you if you are skilled in the language.

The last thing you want to do is pick a language that is not in mainstream use.  Java came out in the 1990s and is still very popular today.

What version of Java should you learn?

Generally speaking, you would want to learn the very latest version of a computer programming language, but that's not necessarily the case with Java.

Until recently Java releases were infrequent (one major release in 3 years was common).  Companies were standardized on specific versions of Java.  Right now most companies are still focused on Java 8, which is a relatively old version, dating back to 2015.

Oracle (the owners of Java) are now releasing new versions of Java every six months, and when the new version comes out the old version is no longer supported.

But to cater for most companies who tend to stick to specific versions of Java for a long time, they have marked the current version of Java - Java 11 as LTS - or Long Term Support. That means that they guarantee to support this version for the long term - for a number of years at least.

Companies will stick to versions of Java that are supported in the long term. For career purposes, you should learn the appropriate versions of Java that your future employer will likely be using.  Right now that's Java 8 and Java 11 (Java 9 and Java 10 have been released and already been marked obsolete and are no longer supported).

The good news is that this course is focused on Java 8, and has recently been updated for Java 11. 

Will this course give me core java skills?

Yes, it will.  Core Java is the fundamental part of the Java JDK (the java development kit) that programmers need to learn to move onto other more advanced technologies.

Why should you take this course?

It's been a best-seller since it's release on Udemy, you would be joining over 480,000 students who are already enrolled in the course.

There are well over 100,000 reviews left by students.  It's rated as the best course to learn Java for beginners.

What makes this course a bestseller?

Like you, thousands of others were frustrated and fed up with fragmented Youtube tutorials or incomplete or outdated courses which assume you already know a bunch of stuff, as well as thick, college-like textbooks able to send even the most caffeine-fuelled coder to sleep.

Like you, they were tired of low-quality lessons, poorly explained topics, and all-round confusing info presented in the wrong way. That’s why so many find success in this complete Java developer course. It’s designed with simplicity and seamless progression in mind through its content.

This course assumes no previous coding experience and takes you from absolute beginner core concepts, like showing you the free tools you need to download and install, to writing your very first Java program.  You will learn the core java skills you need to become employable in around 14 hours, and if you choose to, can take advantage of all the additional content in the course. It's a one-stop-shop to learn java. If you want to go beyond the core content you can do so at any time.

Here’s just some of what you’ll learn

(It’s okay if you don’t understand all this yet, you will in the course)

  • All the essential Java keywords, operators, statements, and expressions needed to fully understand exactly what you’re coding and why - making programming easy to grasp and less frustrating

  • You will learn the answers to questions like What is a Java class, What is polymorphism and inheritance, and to apply them to your java apps.

  • How to safely download and install all necessary coding tools with less time and no frustrating installations or setups

  • Complete chapters on object-oriented programming and many aspects of the Java API (the protocols and tools for building applications) so you can code for all platforms and derestrict your program’s user base (and potential sales)

  • How to develop powerful Java applications using one of the most powerful Integrated Development Environments on the market, IntelliJ IDEA! - Meaning you can code functional programs easier.  IntelliJ has both a FREE and PAID version, and you can use either in this course.

(Don’t worry if you’re used to using Eclipse, NetBeans, or some other IDE. You’re free to use any IDE and still get the most out of this course)

  • Learn Java to a sufficient level to be a be to transition to core Java technologies like Android development, the Spring framework, Java EE (Enterprise edition) in general as well as and other technologies. In order to progress to these technologies, you need to first learn core Java - the fundamental building blocks.  That's what this course will help you to achieve.


Don't worry if none of that made sense. I go into great detail explaining each and every core concept, programming term, and buzzwords you need to create your own Java programs.

This truly is Java for complete beginners.

By the end of this comprehensive course, you’ll master Java programming no matter what level of experience you’re at right now. You’ll understand what you are doing, and why you are doing it. This isn’t a recipe book, you’ll use your own creativity to make unique, intuitive programs.

Not only do these HD videos show you how to become a programmer in great detail, but this course includes a unique challenge feature. Each time a core concept is taught, a video presents a challenge for you to help you understand what you have just learned in a real-world scenario.

You’ll go and complete the challenge on your own, then come back and see the answers which I then explain in detail in a video, allowing you to check your results and identify any areas you need to go back and work on.

This is a proven way to help you understand Java faster and ensure you reach your goal of becoming a Java Developer in record time. Remember doing those old past exam papers in high school or college? It’s the same concept, and it works.

As your instructor, I have over 35 years of experience as a software developer and teacher and have been using Java since the year 2000. Yes, over 18 years (I’ve taught students younger than that). Meaning not only can I teach this content with great simplicity, but I can make it fun too!

It’s no surprise my previous students have amazing results...

See what your fellow students have to say:

"This course was a guiding light in my "Becoming a developer" path from the first step. It helped me become a much more educated developer comparing to my friend who learned to code from trial/error. It's still a guide for me. every now and then I will come back to this course to learn something new or to improve what I've learned somewhere else. A BIG Thanks to "Tim Buchalka" my Master." - Sina Jz

"I was an absolute beginner when I started this course, and now I can write some good small advanced clean codes. I wrote a code and showed it to a programmer, and he was shocked, he told me that I'm more than ready to start a programming career." - Amirreza Moeini

"I am taking this class in conjunction with a Java 101 college class. I have learned more in one afternoon of videos from this class than I have in 4 weeks of a college class. Tim actually explains what things are and why they do what they do, as opposed to my college instructor that mainly said "go make a program that does *whatever*" and then I had to figure out a program that would meet those requirements but not actually learning why it worked." - Stacy Harris

It’s safe to say my students are thrilled with this course, and more importantly, their results, and you can be too

This complete Java course will teach you everything you need to know in order to code awesome, profitable projects,

Is the course updated?

It’s no secret how technology is advancing at a rapid rate. New, more powerful hardware and software are being released every day, meaning it’s crucial to stay on top with the latest knowledge.

A lot of other courses on Udemy get released once, and never get updated.  Learning an older version of Java can be counterproductive - you could be learning the "old way" of doing things, rather than using current technology.

Make sure you check the last updated date on the page of any course you plan to buy - you will be shocked to see some have not been updated for years. 

That’s why I’m always adding new, up-to-date content to this course at no extra charge. Buy this course once, and you’ll have lifetime access to it and any future updates (which are on the way as we speak).

I've continued to do this since the original version of the course came out, and recently have been updating it to Java 11.

With this complete Java Masterclass, you will always have updated, relevant content.

What if I have questions?

As if this course wasn’t complete enough, I offer full support, answering any questions you have 7 days a week (whereas many instructors answer just once per week, or not at all).

This means you’ll never find yourself stuck on one lesson for days on end. With my hand-holding guidance, you’ll progress smoothly through this course without any major roadblocks.

That’s just one reason why I was voted top 10 in the  Udemy instructor awards (out of a whopping 18,000 instructors), and quickly became a top-rated, bestselling instructor on the Udemy site.  

Student Quote: “This course is a great place to ask questions if you have them or find help if you become stuck in areas.” - Blake S.

There’s no risk either!

This course comes with a full 30-day money-back guarantee. Meaning if you are not completely satisfied with the course or your progress, simply let me know and I’ll refund you 100%, every last penny no questions asked.

You either end up with Java skills, go on to develop great programs and potentially make an awesome career for yourself, or you try the course and simply get all your money back if you don’t like it…

You literally can’t lose.

Ready to get started, developer?

Enroll now using the “Add to Cart” button on the right, and get started on your way to creative, advanced Java brilliance. Or, take this course for a free spin using the preview feature, so you know you’re 100% certain this course is for you.

See you on the inside (hurry, Java class is waiting!)

Who this course is for:
  • This course is perfect for absolute beginners with no previous coding experience, to intermediates looking to sharpen their skills to the expert level.
  • Those looking to build creative and advanced Java apps for either personal use or for high-paying clients as a self-employed contractor.
  • Those who love letting their own creative genius shine, whilst getting paid handsome amounts to do so.