Improve your coding skills from beginner to expert with the largest online Java e-learning platform

Java Fundamentals

featuring basic java syntax, program structure, object oriented programming, databases and collections.
  • This Java Fundamentals training course covers the basics of programming in Java.
  • Full details of how to install a Java Development Kit (JDK)
  • The major aspects of java syntax, object oriented programming, unit testing with JUnit and working with databases.
  • The course is written using Java 7 although students using any version of Java from 6 upwards will be able to work with this course.
  • The course is valid for all recent versions of Java through to and including Java 12 - there are only minor changes in relation to the fundamentals. For users of Java 9 and above, there's a short extra video just before chapter 3.
  • Most of the course and learning is focused around building a real-world example application.


You do not need any previous Java knowledge or experience to take this course. We cover everything right from the start - including how to install Java and the Java Development Kit. Some basic programming knowledge in other languages is assumed - for example you should know what is meant by terms like variable, loop and condition. Students completely new to programming will be able to take this course but might need to look-up standard programming terms which are unfamiliar.

Contents - contains over 12 hours of video - equivalent to 5 days of live training.


Having problems? check the errata for this course.


Course Overview

7m 12s
A quick overview of the course.


The Java Development Kit

23m 9s
We download and install the Java Development Kit - this is required to compile Java code, and we test the installation by compiling a simple application.

Note for users of Java 9+

1m 39s
If you are using Java version 9 or above this short video will just explain an extra step you need to be aware of before watching the next chapter


Installing an IDE

27m 39s
We download and install Eclipse - one of the most common integrated Development Environments, and have a look at how to write, compile and run java code in Eclipse.


Java Variables

20m 25s
A look at the main (primitive) Java datatypes, how to manipulate data, and arrays


Control Flow

34m 13s
Understanding how to control the flow of our code using for and while loops, if statements and switches, plus a brief look at the string data type.


Comparing Strings

8m 35s
How to compare 2 strings, doing a switch statement with strings, and introducing the ternary operator


Object Orientation

25m 12s
Understanding functions, creating classes and objects


Writing a Class

27m 2s
Working out what your classes should be, understanding class constructors and creating Enumeration Types


Practical Session 1

23m 4s
An in-depth practical - in this session we create our second class, and see more on manipulating strings and overloading


Arrays of Objects

24m 23s
Working with arrays of objects and creating a basic collection class



10m 57s
How to structure our code into a manageable structure with packages


The Java Library

27m 48s
How to work with dates and times in Java, and an introduction to the JavaDocs


Java Library: Handling Numbers

16m 12s
Formatting numbers and working with precision decimals including dealing with money.


Handling Garbage

16m 7s
How Java handles garbage, immutable classes and the StringBuilder class



26m 23s
Using the extends keyword to create inheritance relationships - parent and child classes


Overriding and Abstract

22m 25s
Overriding methods in inherited classes and use of the keyword abstract to prevent classes from being instantiable or to force methods to be overridden


equals() and toString()

19m 5s
Overriding the toString() method to create a custom way of printing an object, and the equals() method to allow 2 objects to be compared.



22m 25s
Understanding how errors in code (programming exceptions) work in Java, creating custom exceptions and handling exceptions with try catch blocks. We also look at the difference between checked and unchecked exceptions.


Practical Session 2

24m 26s
Our second in-depth practical - putting into practice much of what we have learned so far, by developing some new functionality for our project.


Unit Testing

43m 0s
Mastering automatic code testing using Junit


Introducing Collections

29m 44s
Learning about collections in Java, including the ArrayList, HashSet and HashMap


Collections in Practice

54m 54s
Another in-depth practical session - this time upgrading our application by replacing the arrays with collections. We also see the different types of HashMap - the LinkedHashMap and the TreeMap



35m 27s
An introduction to polymorphism and a worked exercise to enhance our project application by upgrading one of our collection classes to work with inherited objects.



17m 11s
We look at the differences between abstract classes and interfaces, and incorporate interfaces into our project application


Databases and JDBC

29m 15s
Connecting to a relational database and accessing data. This chapter includes installing the Derby database software.



26m 25s
Exception handling with databases, Automatic Resource Management, and changing data in databases, including using Prepared Statements


Major Practical

42m 3s
Another in depth practical - this time we’ll apply the database functionality to our project application.


External libraries and Deployment

28m 49s
How to use external class libraries in our projects, and how to distribute our classes and/or full applications.


Course Review

9m 12s
A review of what we have learned, ideas of where to go next in your Java learning, and some recommendations of books and websites.

Let the Course Come to You

About Us Pricing Frequently Asked Questions Contact Privacy T&Cs Affiliates and Resellers
Facebook Twitter YouTube LinkedIn