
Learn core Java from scratch with a learn-by-doing approach, coding along to cover primitives and variables, object oriented programming with classes and objects, flow control, arrays, collections, generics, and streams.
Trace the java timeline from oak to java, noting James Gosling and major releases from 1995 to 2022, including NASA's Mars rover demo, and note where your version fits.
Install and set up the Java JDK and the Eclipse IDE, the environment where you will write and run all your Java programs in this course.
Compare Java flavors, OpenJDK and Oracle JDK, and choose Amazon Corretto for a free, production-ready OpenJDK with an LDS version 17.
Install Java 17 on Windows using Amazon Corretto, set the PATH environment variable, verify with java -version, and prepare to install Eclipse IDE.
Install Eclipse for enterprise Java and web developers, download and extract the zip, launch Eclipse, set a workspace, and configure the JRE to the downloaded Amazon Corretto using a standard VM.
Learn to write and run your first Java program both manually and in Eclipse, including hello world, compiling with javac, and running with java.
Explore basic Java constructs, including class, public access modifier, and blocks, and see how the main method prints hello world, and how command line arguments relate to main.
See how Java compilation performs a two-step process: the compiler converts source to bytecode as a dot class file, then the JVM runs the bytecode on any target environment.
Java compiles to bytecode in a two-step process, then runs on the Java Virtual Machine, enabling write once, run anywhere across platforms; unlike C/C++, bytecode is platform independent.
Explore variables in Java, learn about data types and the eight primitive types—int, byte, short, long, float, double, boolean, and character—then print hello Java using string concatenation.
Create a string variable for a greeting, explore System.out.print and println, and print a two-line message: Hi Java! I am starting to learn more about you.
Create a java project called variables challenge, declare greeting and java variables, and print them on one line using System.out.print, then System.out.println for line ends, and run the java application.
Explore how Java identifiers name classes, variables, and the main method, including the string array args. Preview the next lesson on Java primitives.
Explore Java's eight primitive data types—byte, short, int, long, float, double, boolean, and char—and how to declare variables with a type, name, and optional value.
Explore Java numeric primitive limits by printing min and max values for byte, int, and float, using wrapper classes and the Math.pow method.
Declare variables using appropriate data types to store age, earth-sun distance, sun-pluto distance, fruit price, gold atom size, initials, name, and your java enjoyment, then print values.
Create a Java datatypes project to cover concepts, using byte for age, int and long for distances, float and double for prices, and char and string for names plus boolean.
Explore what Java classes are as blueprints with features and behaviors, and how objects instantiate those classes with access modifiers, variables, and methods.
Create a television class with private fields for name, cost, and size; expose them via public getters and setters, and use Eclipse to auto generate the methods.
Instantiate objects by building an electronic store with a television, use default constructors, getters and setters, and override the two string method to print object contents.
Explore how static and this keywords operate in Java, demonstrating class-level versus instance-level access, main methods, and getter/setter usage.
Explore constructor methods in Java, including no-args, all-args, default, and custom constructors, with examples from electronic store and television classes, plus getters, setters, and toString.
Build a person class with a name and a boredom flag, and a television instance that turns on when bored and off when not bored.
Build a person class with name, bored flag, and a television field; generate getters and setters, an all-args constructor, and toString, then a main runner toggles tv state when bored.
Discover Java basics by exploring statements, expressions, and operators, and learn how statements differ from expressions while examining arithmetic, relational, and other operator types.
Identify and distinguish Java statements, including declaration statements, assignment statements, and method invocation statements like System.out.println, recognize control flow statements such as if, while, and for, and note reserved keywords.
Explore how Java operators empower code, including arithmetic, unary, relational, logical, and bitwise operators. Learn about assignment, ternary, shift, and the instance of operator used in conditional statements.
Explore Java operators hands-on, covering arithmetic operators (plus, minus, modulus, division, product), compound operators (+=), unary increments, relational and logical operators, short-circuit behavior, bitwise operators, and instance checks.
Discover how Java controls program flow with decision, loop, and jump statements. Learn if/else, switch, for and while loops, enhanced for, and continue and break.
Learn how the java if statement controls code flow using relational and logical operators, building a calculator that handles plus, minus, division, modulus, and multiplication.
Explore the switch statement in Java to control program flow for a fixed set of values, using cases for plus, minus, modulus, division, and multiplication, with default handling and breaks.
Compare switch and if-else in core java for complete beginners, highlighting readability and efficiency for fixed values. Use if-else for relational checks, such as avoiding divide by zero.
Explore how the ternary operator, taking three parameters, evaluates two expressions and returns a result, replacing if-else and switch logic to determine the bigger of two numbers.
Explore Java arrays, a data structure that stores elements in contiguous memory with zero-based indexing. Learn declaration, initialization, access, default values, and using array length.
Understand how the string data type in Java is declared and treated as an object, and that it is backed by a character array.
explain how the main method with public static void main and the string array args enables command line arguments, which you print using Arrays.toString(args) and parse integers with Integer.parseInt.
Explore converting a fixed calculator into a command line tool by passing values and an operation as arguments, e.g., Java Calculator 10 2 plus yields 12.
Implement a basic Java command-line calculator that accepts two numbers and an operation via arguments, parses strings to integers, handles missing arguments with a usage message, and demonstrates error handling.
Explore looping constructs in Java, including for, while, do while, and enhanced for loops, and learn to iterate through arrays with practical examples like a multiplication table.
Learn how to use a while loop to repeat actions based on a boolean condition, exit when false or with break, then see counting to 100 and iterating through arrays.
Explore the infinite while loop and how while true runs until a break condition inside the block. Implement a counter check to exit when i reaches 100.
Explore how the for loop works in java, with initialization, test, and update expressions, and see how to count, iterate over arrays, and modify elements during iteration.
Explore the foreach loop in Java 1.5, a read-only alternative to for loops for iterating arrays and collections using syntax like for string movie in movies.
Learn how the do-while loop differs from the while loop by executing the block at least once, with a Java example showing index, condition, and break.
Practice looping concepts by building an interactive stock trading platform that lets you buy Apple, Infosys, and Microsoft shares using a command-line scanner, track balance, and display a final portfolio.
Demonstrate solving a stock trading platform coding challenge by building an interactive Java program that calculates costs, updates bank balance, and manages a portfolio of Apple, Infosys, and Microsoft.
Explore Java’s eight primitive types and their wrapper classes: Byte, Short, Integer, Long, Float, Double, Boolean, and Character. Understand why wrappers exist and how memory handling differs from primitives.
Learn how heap and stack memory manage objects and primitive data in Java, why references sit on the stack, and how wrappers and thread safety relate to memory.
Use wrapper classes to convert primitive types into objects, enabling object references, collection framework compatibility, and multithreading support. Utilize valueOf, parseInt, and toString methods on these objects.
Explore wrapper classes in Java by converting primitives to wrapper objects, using instance and static methods on Integer, and parsing strings for numeric operations.
Box primitive int values into wrapper types as they are passed to methods that expect objects. Unbox these values on return, converting wrapper types back to primitives.
Explore how wrapper types and strings are immutable in Java, and how operations create new objects rather than modifying existing ones, with practical demonstrations.
Convert from immutable strings to a mutable string buffer and use append, avoiding new objects and improving memory efficiency in the stock portfolio example.
In this course you will be learning Java programming.
Java as a programming language offers some key benefits to any organization and learning it in depth will definitely make one’s career bulletproof.
Java a very versatile language - not restricted to any one particular industry, making it usable everywhere.
Used across all platforms ranging from Android development to Web development and REST APIs to Machine Learning, AI and automation. One of the earliest versions of Java was also used to remotely guide NASA’s Mars rover.
Lastly, Java and related technologies are always in high demand. So you may eventually work on microservices or create other cloud native applications based on a different technology. But a strong foundation in Java will accelerate your learning and give you an edge like none other.
The principles taught in this course and the method of teaching will encourage you to think like a programmer.
This course is based on learning by doing methodology. It would ensure retention of concepts and solidify your learning.
Here is a glimpse of what you would learn in the course:
Basics of Java
Concepts - Java compiler vs Interpreter
JVM vs JDK
Java Primitives
Java Operators and Control Statements
Object Oriented Programming Concepts -
Classes Objects (this and static)
Inheritance
Abstraction
Polymorphism
Encapsulation
Generics
Java Collections Framework
Java Functional Programming
Java Streams