
Basic computer architecture.
Explain how compilers turn high-level code into assembly or bytecode, and how the Java virtual machine executes Java bytecode by translating it into native instructions at runtime.
Writing your first program in Java with eclipse.
Adding comments to your code.
Explore how to read Java documentation in Eclipse using hover hints, javadoc, and in-browser Java docs for the String class, then generate getters and setters and create your own JavaDoc.
Using the eclipse Debugger.
Useful keyboard shortcuts and customizations to eclipse, for begineers.
How to build a jar with eclipse, which can be run by anyone.
Explore java syntax rules and expressions, identifying syntax errors, using comments, semicolons, and matching brackets, and evaluate arithmetic with +, -, *, /, and % while noting operator precedence.
Learn how Java handles variable types, including integers and doubles, with type casting (automatic and explicit), type mismatches, and string and character operations for printing.
Learn how to get user input in Java with a Scanner, read the item's price as a double, and display the new price after a 20% or 30% discount.
Making windows.
Discover booleans in Java, where the boolean type holds true or false and expressions like x < y evaluate to a boolean, with printing the result and proper parentheses.
Explore the switch-case construct in Java, using a year input to print freshman through senior, noting constant case values, break to avoid fall-through, and performance benefits.
Define movie rating as an enum inside a top-level class to replace unclear integers. Use a switch statement to handle each rating, improving readability and correctness.
Master java for loops by summing 1 to a million, using modulus operator and if statements to filter multiples of three or five, and handle sums with integers or doubles.
Learn how to use while and do-while loops in Java, avoid infinite loops, and apply nested loops to print a letter-number grid, with basic typecasting and line formatting.
Learn how nested for loops produce and format multiplication tables in the console, from 1 to 9 (and 12 by 12), using products and spacing to align digits.
Explore break and continue in Java, showing how break exits loops and continue skips iterations in for and while loops, with examples printing numbers and filtering odds by remainder.
What is a 'block scope'?
Build a wheel of fortune game in Java using Eclipse, implement loops and scanner input, and reveal a masked secret phrase as players guess letters.
Learn how to use Java classes in Eclipse to model data, create a Song class with name, artist, and duration, and define public and private methods to format output.
Define a Person class with name, year, and parent links (mother and father) as Person objects, using private fields, getters, setters, and a getGrandfather method to traverse the family tree.
Explore parameter passing in Java: primitives are passed by value, creating copies, while user defined types are passed by reference, affecting the original object.
What does it mean for a type to be immutable?
Define object equality by overriding the equals method to compare name and other fields, and always use string equals for strings rather than reference equality.
Class constructors.
Explore static variables in Java, shared by all person instances, with a constructor-incremented counter and a static method to access it, while noting static method limitations.
Learn to implement an immutable distance class in Java using Eclipse. Store distances in millimeters, support millimeters, meters, and feet, with unit conversions, addition, and simple unit tests using assertions.
Explore arrays in Java by declaring and initializing an array to store student grades, printing elements with a for loop, and understanding index ranges, length, and array literals.
We create an example container class.
Learn how insertion sort arranges numbers in an int array by repeatedly selecting the smallest remaining value and placing it at the front of the sorted portion.
Explore two-dimensional arrays in Java, access cells by indices, and implement ragged arrays with varying row lengths while managing memory and out-of-bounds errors.
Develop a tic tac toe board in Java using a three by three two dimensional array, initialize cells, print a formatted board, and prepare for unit testing.
Explore how to generate the nth row of Pascal's triangle from the previous row using a straightforward iterative approach with arrays and for loops, emphasizing brute-force first.
Discover how inheritance in java works by modeling a person base class with a name and id, and extending it into student and employee classes with credits and salary.
Explore polymorphism by using a person class with student and employee subclasses that override toString to show names and fields like credits and salaries; a person array demonstrates runtime dispatch.
Learn to handle Java input from users and exceptions using try-catch, manage input mismatch errors, and apply throws declarations to enforce valid numbers.
Read a csv file using Java by creating a file and scanner, parsing lines with split on commas, converting to double, and computing the average closing price of Google stock.
Compare text and binary files, and learn to write and read data in Java using file and object streams, with Unicode encoding, in same order, and to handle IO exceptions.
Learn how to write and read Java objects to a file using the Serializable interface, a marker interface with no methods. Use proper file streams for persistence.
An introductory but fairly comprehensive set of java tutorials for beginners on Java programming using the eclipse Integrated Development Environment (IDE). I will cover all the basics of Java programming, starting with the Java Virtual Machine and variables all the way to Java Generics and some of the Collection classes such as ArrayList and HashMap.
This is a good java online training for people new to programming who like to learn by doing.
The second chapter, on the eclipse IDE, can safely be skipped until after taking the whole course. So absolute beginners can get started with this java tutorials for beginners.
I welcome all suggestions on how I can make this a better java online training course.