
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Explore Java fundamentals from scratch, covering variables, hello world, primitive data types, and core concepts such as encapsulation, polymorphism, and inheritance, with an introduction to creating a GUI.
Learn to locate the Java development kit bin directory and add its path to Windows system environment variables, updating the path so the command line recognizes Java.
Install the Java development kit and IntelliJ IDEA community edition on macOS, launch the IDE, choose a dark theme, and start with a fresh setup to begin Java development.
Set up Oracle Java 8 on Ubuntu via a custom repository, then install IntelliJ IDEA community edition. Launch the IDE, choose a dark theme, and complete the initial setup.
Kick off your Java journey by creating a hello world program, learn Java's structure (JDK, JRD, JVM), and explore manual compilation to see what happens behind the scenes, with homework.
Explore how Java is structured around the JDK, JRE, and JVM, and learn about Java SE, Card, ME, and EE editions and write-once, portable execution.
Create a hello world Java program by setting up a new Java project in the IDE, declaring a class with a main method, and printing hello world.
Create a hello world Java source file and save it with the class name, then compile to bytecode and run on the command line with the Java runtime and JVM.
Create a simple Java class that prints information about yourself to the screen using print statements, including your name, age, hometown, and hobbies.
Create a new java project, add a class named myself, and implement a main method to print your name, age, hometown, and hobbies with system.out.println.
Learn object oriented programming in Java by mastering naming conventions: class names use Pascal case, methods and variables use camel case, constants uppercase, and packages lowercase.
Object oriented programming in Java through a dog class example, detailing classes, fields, methods, class diagrams, objects, and the main method as an entry point to create reusable code.
Organize your Java project with packages to group classes, follow domain-name-in-reverse for names, and import needed classes or use wildcard imports.
Design a class and package structure for the Kohona inventory manager, outlining how to organize classes and packages for an inventory system that handles smartphones, tablets, and other products.
Design a Java package structure and class hierarchy by creating electronics and white goods packages, adding classes such as smartphone, microwave, refrigerator, and using refactor rename.
Explore variables and Java data types, including primitive types and assignments, through practical examples like a dog class, and understand expressions and statements.
Explore how a variable names a memory storage unit, how declaration and assignment set its value, and how types, null, and scope determine its behavior in Java.
Discover Java's eight primitive data types—byte, short, int, long, float, double, char, and boolean—and how they differ in storage, with strings being a non-primitive complex type.
Explore primitive data types and how statements and expressions yield a single value, using four plus four and variable assignments like age = 28 to illustrate the assignment operator.
Choose appropriate data types for items such as user age, current temperature, ISBN-13, distance in kilometers, universe size in light-years, gender indicator, and employee IDs.
Choose the correct data type for each scenario, from byte and short to int, long, float, double, char, or string, to model age, temperature, isbn, distances, gender, and employee ids.
Master code blocks, scopes, and indentation best practices in Java. Discover if statements, three types of loops, and transfer of control with break, return, and continue.
Explore blocks, scopes, and indentation best practices in Java by examining how class and method blocks define scope, the difference between fields and local variables, and anonymous blocks.
Apply Java if statements to make decisions by evaluating relational and logical expressions, handle else and else if branches, and use braces for clear blocks.
Learn how the Java switch statement makes decisions with multiple cases, using break to control fall-through, and a default case, demonstrated through an elevator floor example.
Explore boolean expressions and how to use them in conditional statements like if and switch in Java. Learn and, or, and not operators, with examples and truth-table insights.
Explore repetition in Java by examining the three basic loop types—while, do-while, and for—and how a counter, boolean expression, and counter action drive iterations from 1 to 10.
Compare the do-while, for, and while loops in Java, highlighting post-test versus pre-tested behavior. The do-while runs at least once, while for and while may skip if the condition fails.
Learn transfer of control in Java by examining break and continue. See how break exits a loop or block, how continue skips iterations, and how label statements guide flow.
Explore the return keyword in Java, learn how a method sends its output back to the caller, and follow an example of adding two numbers to produce a result.
Build an age-based application that uses if statements and a loop to calculate months, classify life stage (child, teenager, adult, senior), and display an asterisk per year.
Calculate age in months from years and months, then classify the user as child, teenager, adult, or senior citizen using if statements, and print asterisks for each year lived.
Tackle three progressive programming challenges that model vehicle eligibility, flag missing car, license, or insurance, check odd/even and multiples of ten, and apply a conditional operator with guided solutions.
Demonstrates building a simple Java app that checks driving eligibility by booleans hasLicense, hasCar, and isInsured, using if statements and logical operators to reveal missing items.
Explore how the modulus operator in Java identifies even or odd numbers and multiples of 2 or 10, using if statements with practical examples.
Learn to replace if statements with the conditional (ternary) operator to write shorter, one-line code in Java for true/false outcomes, such as even numbers and multiples of 10.
Explore operators and operator precedence in Java, including the assignment operator, arithmetic operators, relational operators, and logical operators. Examine prefix and postfix forms and complete a related homework.
Learn how the assignment operator works in java, including binary and unary operators, compound assignments, and how to assign strings, characters, numbers, and booleans.
Explore arithmetic operators in Java, including plus, minus, division, times, and modulus, and learn how integer division truncates results while floating point division yields decimals, with casting and remainder.
Explore relational and equality operators in Java, comparing primitive values with <, <=, >, >=, ==, and !=. Understand type promotion and the difference between assignment and equality checks.
Learn how &&, ||, and ! operators work in Java to evaluate boolean expressions in if statements. Explore examples using cash in hand, stock status, and age to determine outcomes.
Explore operator precedence and Java's order of operations with brackets, division, and multiplication, and learn how associativity affects left-to-right evaluation and integer versus floating point results.
Explore how prefix and postfix increment and decrement operators affect output in Java by testing a variable, showing left-to-right versus right-to-left associativity.
Create a Java program to calculate car insurance premium: 1% of value plus cc-based charges over 1200, age-based additions under 25, and 0.5% convertible premium.
Explore how to compute an insurance premium by combining basic premium (1% of car value), cc premium for engines over 1200 cc, age premium for under-25 drivers, and convertible surcharge.
Explore string manipulation and parsing in Java using the string class and string builder, learn about mutability and Java's string handling, and practice method chaining in a homework exercise.
Explore strings and string concatenation in Java, using the plus operator, understanding immutability, and learning to print objects with toString and common methods like replace.
Learn useful String class and string builder methods, including charAt, indexOf, length, toLowerCase, toUpperCase, trim, equals, equalsIgnoreCase, replace, append, delete, insert, reverse, and method chaining.
Explore string mutability and the StringBuilder class, contrasting immutable strings with in-place edits, and learn when to prefer StringBuilder or StringBuffer for multi-step manipulations.
Compare strings in Java using equals rather than == for value comparison. Understand string pooling and memory locations, and use equals ignore case or compareTo for ordering.
Practice transforming strings and a string builder with method chaining to match target phrases from two homework tasks, using available string and string builder methods.
Learn how to fix strings in homework 6 using String and StringBuilder: adjust capitalization with substring and replace, reverse and modify sequences, then compare results with equals.
Learn to build interactive Java applications using the Scanner class for command-line user inputs, creating a body mass index calculator and an Adium cash machine as hands-on projects.
Learn to use the Java Scanner class to read user input from the keyboard, including strings and primitives, with a single reusable instance, and manage the input buffer.
Create a useful BMI calculator that computes body mass index from weight and height, using metric units, and returns a status like underweight, normal, overweight, or obese.
Learn to build a Java ATM that offers deposit, withdraw, check balance, and exit by displaying a menu, prompting for amounts, and using exit code 0 to quit.
Build a simple ATM using a logic class and a user interface, managing balance, deposits, withdrawals, and overdraw errors with a single scanner and a menu loop.
Three challenges: a 1–10 number guessing game with ten guesses, a true/false trivia quiz, and a hard word game using letters to form English words.
Create a java 8 number guessing game from scratch, using a main method and startGame, a scanner for guesses, a 10-try loop with a random 1-10 number, and track wins.
Create a Java trivia game by building a question class and a main class, loading ten true/false solar system questions into an array, and looping with a scanner.
Develop a Java program that accepts user characters and prints all English words that can be formed from them using a word list file.
Quick Overview
This course is uniquely run by a leading ICT institute, featuring:
Best-in-class instructor using a learn-by-doing, fun, bite-size approach to learning.
Professional content in line with the Oracle Certified Java Associate examination syllabus.
Beautifully crafted videos in studio quality and detailed courseware (Presentations & Code Examples).
Real-world projects and challenges with answer video explanations and files.
Personalised reviews through e-mail support from your instructor.
Access to a coach-supported forum.
--
The Course
A course that starts from absolute scratch, explains all the core concepts of programming, uses the popular and powerful Java language and the world’s best development tool (IntelliJ IDEA) to teach you.
The Instructor
An Oracle Certified Professional, with a passion for programming and technology with 15 years of industry experience, including more than a decade of training experience to individuals and teams of all sizes - including Fortune 500 brands.
Testimonials
"Educator is very experienced, a great mentor, and a great character to spend time in a classroom with - always willing to help out outside of the lectures themselves. I learnt more than I expected to learn and I'm looking forward for my next course. System.out.println("Thank you ICE Malta!");"
"This isn't my first time studying at ICE Malta and once again I really enjoyed the study experience. I was an absolute beginner and now I'm very confident in my newfound skills."
"What a super study experience! I completed the course pumped and enthusiastic to transform my career into a winner."
"Amazing job! The educator always explained concepts in a practical, fun, easy way - brilliant."
"This course was a game-changer, it opened so many doors of opportunity."
Course Description
The course starts from scratch, but if you haven’t programmed in Java for a while, or would like to update your skills to Java SE 9, then this course has something for you too. During the course, we use IntelliJ IDEA as our development environment, however we also learn how to do away with an IDE and go behind the scenes to compile and run code manually. If you have previous experience using another IDE such as NetBeans, Eclipse or BlueJ - you are more than welcome to use any of those instead.
This study experience doesn’t just train you in Java - it gives you an education on the core concepts of programming and encourages you to develop your personal research and development skills to become a well rounded IT professional, regardless of technology used.
The course consists of 108 beautifully crafted lessons, each explaining a core programming concept and how this concept is implemented in Java. For each lesson, you get both a theoretical and practical explanation, and are provided with all slides and code examples used. Furthermore, the course also challenges you with interesting homework assignments as well as ‘Test Your Mettle’ bonus sections, to encourage personal research skills and feature discovery.
As an enrolled student, you will have access to all course material, a personal e-mail contact with your instructor as well as a discussion area. This means you will be able to carry out homework, Test Your Mettle challenges and even additional exercises, and have your questions answered directly by your instructor - too! Your success is our obsession.
We hope to join you on your exciting learning journey in the world of Java!
#RaiseYourGame #MasterJava #EveryoneCanCode