Java Programming – the Master Course

From Java Beginner to Java Expert in ten simple steps
4.4 (169 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
2,642 students enrolled
$19
$145
87% off
Take This Course
  • Lectures 88
  • Length 9.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2015 English

Course Description

Java is one of the most important of all computer programming languages. But learning Java can seem like a daunting task. Not any longer! With this course you will learn Java step-by-step, from the basics right through to advanced topics. This course is, quite simply, the fastest, easiest way to learn Java programming.

The course instructor Huw Collingbourne has already taught over 22,000 people to program on Udemy. This Java Programming Master Course includes over 85 videos to explain every topic in detail. All the source code is provided in sample programs ready-to-run on a PC or a Mac. And there is even a 125-page eBook, The Little Book Of Java, to provide even more information on all the topics discussed.

If you want to master Java programming quickly and easily, this is course for you.

What you will learn

  • The fundamentals of programming – from the ground up
  • How to program Java on a Mac or on Windows
  • The nitty-gritty details of the Java language
  • Advanced topics such as generics, exception-handling, streams and serialization

Who should take the course

  • Beginners – if you've never coded before, you can learn Java step by step
  • Programmers switching to Java from some other language such as Ruby, Python, C or C#
  • Cross-platform developers – Java programs run on all major operating systems
  • Anyone who wants to make a career in programming

What are the requirements?

  • How to use a PC or Mac

What am I going to get from this course?

  • Master Java programming concepts from the ground up
  • Use the source code examples to learn step-by-step
  • Learn the basics - perfect for beginners
  • Understand the special features of Java: object orientation, garbage collection, cross-platform development and serialization
  • Videos explain everything in minute detail
  • Read the supplied eBook, The Little Book Of Java, to explore the topics in even more depth

What is the target audience?

  • Beginners – if you’ve never coded before, you can learn Java step by step
  • Programmers switching to Java from some other language such as Ruby, Python, C or C#
  • Cross-platform developers – Java programs run on all major operating systems
  • Anyone who wants to make a career in programming

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Getting Started
03:24

Welcome to this course on Java programming.

04:24

First install Java and an IDE (Integrated Development Environment) to help you write programs. This video explains how to do this on a Mac or on Windows.

Article

An overview of the Java language.

Article

Download the Source Code Archive from the Download page of the Resources...

125 pages

This is the course text – an eBook of 125 pages, which covers the same topics as the video tutorials. Use this book to revise the lessons and study Java in more depth.

05:56

A short overview of the NetBeans IDE. Find out how to create Project groups to load and build the projects from the source code archive.

3 questions

The Java language and the NetBeans Integrated Development Environment (IDE)

Section 2: First Steps in Java
03:42

In this lesson I’ll show you how to create a simple ‘Hello world’ Java program step-by-step using the NetBeans IDE.

06:45

Let’s take a closer look at my ‘Hello world’ program in order to identify some important features of the Java language.

07:17

Sometimes you may want to run your programs from the ‘command prompt’ or Terminal. Here I explain some simple ways of doing that on a Mac and on Windows.

05:17

It is sometimes useful to pass arguments to a program when it first starts. Here I show how to do this at the commandline or within NetBeans.

07:35

Many of the projects in this course will be created as ‘visual’ applications with a windowed user interface. This video explains how to create visual Java programs.

05:15

How does your Java code get compiled? And what happens when it is run? Here I explain the basics of the Java compiler and the Java Virtual Machine.

09:39

When you want to display text at the system prompt, you will need to be familiar with the print, println and printf methods. Here I explain what these are and how to use them.

07:14

When you want to display text in visual components such as text fields and buttons, you need to use special methods such as setText(), as we’ll discover in this lesson.

3 questions

The basic building-blocks of Java code

Section 3: The Fundamentals of Java Programming
06:08

By now you should be familiar with the basics of writing, compiling and running simple Java programs. In this step we’ll be find out more about the building blocks of those programs – and here I want to take a first look at data types and variables.

05:22

Variables give you a way of storing values that can be changed. But sometimes you want to make sure that certain values cannot be changed. That’s what constants are for.

12:43

In this hands-on lesson I show you exactly how I designed and coded my Tax Calculator application. If you are new to NetBeans you might find this step-by-step guide useful.

05:11

Packages give you a way of grouping together related classes. Once you create a package you will need to import its contents to other code files. This lesson explains how.

06:38

Often you will need to convert numbers to strings and vice versa. Here I explain the difference between numeric and string data types and show how Java can help convert one to the other.

04:41

What’s the difference between and int and an Integer or a double and a Double? In this lesson I explain primitive data types and Java’s corresponding ‘wrapper’ classes.

05:34

Sometimes it may be useful to tell the Java compiler to treat one data type as another data type – you can do that by ‘type casting’.

03:25

Numbers that you enter in your code are ‘numeric literals’ – here I explain how Java treats these.

03:42

You don’t always have to convert numbers (and other types of data) to strings – sometimes Java does it for you.

03:37

Java provides a shorthand way of converting number primitives into number objects. Here I explain ‘boxing’ and ‘unboxing’.

06:12

We use strings all the time in our programs so it’s worth considering what a string actually is.

3 questions

More core features of Java

Section 4: Object Orientation
03:59

Java is an object oriented programming language. What does that mean and why does it matter?

07:19

What are classes and how are they used to create objects? That’s the subject of this lesson.

06:59

Here we find out how to create a ‘family tree’ of classes in such a way that one or more classes inherit the features of another class.

06:46

In this hands-on session I’ll show you, step-by-step, how to create a Java subclass in NetBeans.

08:20

Methods are object-oriented functions. Here we look at methods in some detail and I explain method signatures and method overloading.

11:04

Sometimes it is useful to call a method without having to create an object first. In this video I explain how to do this using static or ‘class’ methods.

3 questions

Java's object orientation

Section 5: Conditional Tests and Operators
02:56

Operators are special symbols that are used to do specific operations such as the add­ition and multiplication of numbers. Here we look at some of the most important operators.

04:03

Here I show some examples of using the addition, subtraction, multiplication, division and remainder (modulo) operators.

06:53

How do you test if one string is the same as another string? It’s not quite as simple as it may appear.

06:11

There are exceptions to the rule that two identical strings compared using == will return false. Here I explain why.

06:32

Here I explain how to take different actions by using if, else and else if to perform a series of different tests.

04:33

If you need to perform many tests, it is often quicker to write them as ‘switch statements’. This lesson explains how to do that.

05:01

In some of the examples in this step, I have used the && operator to mean ‘and’ and the || operator to mean ‘or’. Here I explain these logical operators and the Boolean values they test.

04:52

You can combine arithmetic and assignment operations using ‘compound assignment operators’ such as += and -=, as I explain in this lesson.

04:29

You can increment and decrement values using the ++ and -- operators. But be careful: when you assign the results of these operations, the value may differ according to the position of the operator!

3 questions

Operations to change and test values

Section 6: Arrays and Collections
03:34

Many programs need to work with collections of objects. Here we look at the most basic type of collection, a sequential list or ‘array’ of elements.

03:54

In Java, the first element of an array is at index 0. It is vital that you understand the importance of this fact, and that is the topic of this lesson.

03:46

In this lesson I show a simple way of creating arrays and filling them with data items all in a single line of code.

05:15

You can do operations on the items in an array using a ‘for’ loop to handle each item one by one. Here I explain the basics of ‘for’ loops in Java.

02:51

Java automatically frees up memory that is no longer needed. This is called garbage collection.

05:26

Fixed size arrays may not be the best solution for programs in which lists of objects may grow in size. For such programs, Java’s ArrayList class may be a better choice.

03:50

Interfaces are like abstract classes that contain method definitions but omit the code needed to implement the methods. This lesson explains the basics of Java interfaces.

02:45

Java ‘Generics’ allow the same methods to operate on objects of various types while giving your code the benefit of type-checking. Here I explain the basics. We’ll look at generics in more depth in Step Nine.

06:34

Sometimes it may be useful to index a collection of objects by something other than their numerical positions in a list. Associative arrays, hashes or Maps let you do just that.

09:20

If you need to ensure that only keys and values of specific types are permitted to be added to hashes or Maps you can used a typed HashMap.

3 questions

How to enforce type-checking on list elements

Section 7: Loops
04:51

When you want to repeat actions, you may need to ‘loop’ over some blocks of code. Here I take a closer look at for loops to count up and down or iterate through array items.

02:53

Here we look at another type of for loop that lets you process the items in a linear collection or array in a similar way to ‘foreach’ loops in other languages.

03:13

When you need to loop an unknown number of times, a while loop may be a good choice. A while loop continues to execute as long as some test condition remains true.

04:12

Here is an example of how you might use a while loop to read data from files of various sizes stored on your computer’s disk.

03:30

Sometimes you may want to be sure that the code in a loop is run at least once. In such a case you might want to use a do..while loop.

05:37

You can even create an array containing arrays as its elements. In this lesson I explain the essential feature of multidimensional arrays in Java.

03:46

When one array contains ‘nested arrays’ as its elements, how can you get at the elements inside each nested array? That’s the subject of this lesson.

04:31

Sometimes you may want to break out of a loop immediately. One way of doing that is by using the break keyword.

03:32

Sometimes you may want to break out of a loop once only and then carry on running the loop. One way of doing that is by using the continue keyword.

05:51

Using break or continue can change the logic of your code. Here I explain the problem and consider one way of avoiding it.

02:18

If you break out of one loop nested inside another loop, which of the two loops do you break from? That’s explained in this lesson.

02:58

If you want to break out of both an inner loop and an outer loop you can use labelled breaks. But use with extreme caution or you may regret it!

3 questions

The art of repetition

Section 8: Enumerated types, interfaces and scope
06:36

You can clarify your code by creating lists of named constants – for example, Hearts, Diamonds, Clubs and Spades in a gambling program. Here I explain how to do that using enums.

07:12

Sometimes you may want to give specific values to the constants in an enum. Here I show how I created an int constant in the Directions enum of my adventure game.

02:39

In Java, unlike in many other languages, Enums are classes. You can even give them their own methods! This video explains.

06:34

I’ve created a project from example code supplied by Oracle. But I can’t understand exactly how it works. Now is a good time to use the NetBeans debugger.

03:52

We looked very briefly at Interfaces in Step 6. Interfaces may declare ‘empty’ methods that define a ‘contract’ with the classes that implement the Interface. Here I explain how this works.

02:28

There may be occasions when you want to create your own interfaces to be implemented by various different classes. Here I explain how to do that.

05:12

Variables in your Java programs are all ‘visible’ within certain limits. Those limits define their ‘scope’.

03:24

What happens when a variable name is repeated in different ‘scope’ levels? Let’s find out!

04:50

You can restrict the visibility of methods by declaring them using the keywords private, public or protected.

3 questions

Enumerated types and abstract classes

Section 9: Generics and Exceptions
05:53

Generic classes let you work safely with lists of objects of a specified type. Amongst other things, this can help avoid problem that might occur when you add objects of mixed types to a list.

06:25

If you want to use an ArrayList which will only accept elements of a certain type – for example, Strings but not Integers – you can do so. That’s what this lesson is about.

04:36

Generic ‘type parameters’ are placeholders that can be replaced with real types when you create objects from a generic class.

04:34

You can write your own generic classes from which objects can be created to call the same generic methods on different types of data.

05:00

Generics are often used to manipulate the elements of lists and other types of collection. Here I explain how to create a custom generic list class.

06:02

Sometimes you may want different methods with the same name in ancestor and descendent classes – that’s method overriding.

03:42

Sometimes you may want different methods with the same name but different arguments in the same class – that’s method overloading.

03:23

Sometimes an error may occur when the program is running. You can deal with many types of error by handling exceptions.

05:02

You can ‘catch’ an exception object to access its methods and properties.

06:52

Here I explain how to catch specific types of exception.

3 questions

More on generic collections - and handling errors

Section 10: Files and Serialization

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Huw Collingbourne, Director of Technology, SapphireSteel Software

Huw Collingbourne is the technology director at SapphireSteel Software, developers of the “Sapphire” Ruby IDE for Visual Studio and the “Amethyst” IDE for the Adobe Flash Platform. He is author of The Book Of Ruby from No Starch Press. He runs Bitwise Courses and teaches courses on a range of programming topics.

Huw has been a programmer for more than 30 years. He is a well-known technology writer in the UK. For over ten years he wrote the Delphi and Java programming column for PC Plus Magazine. He has also written numerous opinion and programming columns (including tutorials on C#, Smalltalk, ActionScript and Ruby) for a number of computer magazines, such as Computer Shopper, Flash & Flex Developer’s Magazine, PC Pro, and PC Plus. He is the author of the free ebook The Little Book of Ruby and is the editor of the online computing magazine Bitwise.

In the 1980s he was a pop music journalist and interviewed most of the New Romantic stars, such as Duran Duran, Spandau Ballet, Adam Ant, Boy George, and Depeche Mode. He is now writing a series of New Romantic murder mysteries.

At various times Huw has been a magazine publisher, editor, and TV broadcaster. He has an MA in English from the University of Cambridge and holds a 2nd dan black belt in aikido, a martial art which he teaches in North Devon, UK. The aikido comes in useful when trying (usually unsuccessfully) to keep his Pyrenean Mountain Dogs under some semblance of control.

Ready to start learning?
Take This Course