
Learn core Java and coding for automation testers from basics to advanced, with 50 interview problems, hands-on practice in the Eclipse IDE, and a 30-day beginner-friendly path.
Learn to use the rating option after 3-5 lectures, choose ask me at the end, and use the q&a section to post questions with section info, then provide genuine feedback.
Master core Java basics for automation testers, including variables, data types, operators, arrays, strings, loops, exception handling, keywords, access modifiers, and core collections like ArrayList, HashSet, and HashMap.
Explore how JDK, JRE, and JVM relate: JDK includes development tools and the JRE, while JRE provides the JVM for running Java programs.
Explore the history of Java, from its 1990s development by James Gosling at Sun Microsystems, originally Oak, renamed Java, and now owned by Oracle, with a coffee island inspired logo.
Explore the Oracle JDK roadmap, six-month releases, and long-term support, and learn to install Java 17 or 21 for automation testing.
Explore Java flavors—Oracle JDK, Open JDK, and Amazon Corretto—and licensing for individuals versus organizations. Download and install Oracle JDK on Windows, then configure JAVA_HOME and PATH.
Install the Eclipse IDE on Windows to write, compile, and run Java code; download from eclipse.org, choose the Java developers package, ensure Java is installed, and set up a workspace.
Practice basic Java syntax by using System.out.println and print to control console output and newline behavior. Understand class structures, braces, semicolons, and the mandatory main method in Eclipse.
Understand how Java packages organize code as folders containing classes, interfaces, and enums, including user defined packages like java.lang and java.util, with java.lang loaded by default and others requiring imports.
Learn to add comments to Java code, including single-line and multi-line styles, and understand how commenting affects code execution and readability.
Learn to compile and run Java code from the command line using the Java C command and the Java command, manage class files, and troubleshoot main class errors.
Demonstrates command line execution for non-java project code files by creating Java files on the desktop, compiling with javac, and running with java, while ensuring the jdk and environment variables.
Learn how variables act as runtime containers in Java and compare primitive and non-primitive data types, noting that non-primitives like strings and collections such as ArrayList, HashSet, HashMap have methods.
Explore Java's primitive data types, including byte, short, int, long, float, double, character, and boolean, focusing on memory size and default values to guide proper variable declarations.
Practice primitive data types in Java by coding with byte, short, int, and long, including declarations, assignments, literals, and long suffix usage.
Understand java primitive data types by examining float and double literals, boolean true/false values, and single-character char storage, including when to use f suffix and how strings differ from chars.
Explore different approaches to declare variables in java, including separate declaration and assignment, multi-variable declaration with the same data type, and declaration with initialization.
Explore the var data type in Java 10 onwards, a type inference feature inspired by JavaScript that infers type from the initializer and remains statically typed.
Learn core Java arithmetic operators, addition, subtraction, multiplication, division, and modulus, along with operands and expressions, and preview relational, logical, increment/decrement, assignment, and ternary operators.
Learn how relational operators in Java compare values using >, <, >=, <=, !=, and ==, producing boolean results (true or false) for each expression.
Explore how logical operators and, or, not operate on boolean values to yield true or false. See truth tables and code examples with A and B.
Learn how increment and decrement operators work in Java, including post and pre forms (a++, ++a, a--, --a), how they affect values and memory, and their use in loops.
Learn how assignment operators work in Java, including =, +=, -=, *=, /=, %=, and ++/--, with examples of declaring and updating variables in heap memory.
Master the Java ternary operator using the ? : syntax to choose result one or result two based on the expression; true uses result one, false uses result two.
Explore unary, binary, and ternary operators in core Java, understand operand counts, and see how arithmetic, relational, and logical operators differ—with A+B as a binary example.
Explore core Java control statements, focusing on conditional statements such as if, if-else, nested ifs (ladder), and switch case, driven by boolean expressions and relational operators.
Explore if else blocks in Java, including how the if condition and else block control execution, plus single-line versus multi-line braces and modulo-based odd-even checks.
Explore the if else ladder by checking positive, negative, or zero values and use multiple else if branches to find the largest of three numbers, with only one branch executing.
Explore if-else with direct boolean values in Java, and understand how true or false drives execution and dead code warnings.
Learn how nested if-else blocks work by placing one if inside another, and follow two Java examples, including age and license checks, to see which statements execute.
Explore the switch case construct across languages, see its syntax with cases, default, and breaks, and learn how it replaces long if-else chains using a day-of-week example.
Explore core Java looping concepts with a focus on while loops, printing numbers from 1 to 10, and understanding syntax, conditions, and increment steps.
Explore practical while loop techniques with ten-repeat prints, odd/even checks using modulo, and initialization, condition, and increment patterns, plus a decrement example.
Learn the do while loop in Java: its syntax, semicolon requirement, and how it executes at least once, with examples printing 1 to 10 and 10 to 1.
Explore the difference between while and do-while loops with an example that prints 1 to 10, showing how a false while condition skips, while do-while runs at least once.
Master for loops in Java, including initialization, condition, and increment in a single line. Compare for loops to while and do-while, and explore examples printing 1–10 and 10–1.
Compare for, while, and do-while loops in Java and learn when to initialize, set conditions, and increment. Master breaking out of loops to prevent infinite loops.
Learn how jumping statements break and continue control loops in Java, including for, while, and do-while; break exits a loop, and continue skips the current iteration.
Master conditional statements through three programs: largest of two numbers with if-else and ternary operator; voting eligibility by age; and BMI classification with if-else if-else.
Reverse a number using a while loop and the modulo operator, building the reverse value from digits like 12345 to 54321 and debugging with breakpoints.
Determine palindrome numbers by reversing the input and comparing it with the original. Use a temporary variable to preserve the initial value during updates, then report palindrome or not.
Count digits in a number with a while loop by extracting digits via number % 10 and incrementing a counter until number becomes zero, demonstrated with 123123 producing 6.
Implement a Java program to generate the Fibonacci series, starting with zero and one, using two variables and a loop to print the sequence.
Apply a for loop in Java to compute the factorial of a number by multiplying a running result, initialized to 1, with each integer from 1 to n.
Explore generating random numbers in Java with Math.random, scale to two or three digits, convert to integers via type casting, and handle printing with correct brackets for accurate results.
Learn to swap two numbers in Java without a third variable using a + b, then b = a - b, and a = a - b.
Explore printing number and star patterns with nested loops, managing rows and columns in a matrix. Learn to control iterations, newline placement, and patterns like 1121231234 and even-odd logic.
Master core Java star patterns by printing left aligned triangles and inverted pyramids using two nested loops, with practical steps and pattern logic for beginner automation testers.
Explore arrays as a derived data type storing multiple values of the same type with fixed size. See single dimensional and two dimensional arrays via employee IDs and a matrix.
Explore single dimensional arrays in Java: declare with new or initialize, assign values, and use a.length to determine size; retrieve elements with for loops and enhanced for loops, noting bounds.
Learn to declare and use two dimensional arrays in Java, with new keyword or initializer braces, access by row and column, and iterate with nested for loops.
Discover how the Java Object class enables arrays that hold multiple data types, such as int, float, char, string, and boolean.
Learn how to reverse an integer array by storing the reversed values in a second array, iterating from the end using a for loop, and printing the result.
Learn to use the Java Arrays class and inbuilt methods like Arrays.toString and Arrays.sort to print and sort arrays. Recognize when to use inbuilt methods versus custom loops in interviews.
***Updated September 2025 - Added Java Streams detailed coding module***
Core Java and Coding for Automation Testers is a Beginner friendly course
Learn Java Programming language from scratch, trained by Swaroop Nadella - an Experienced Automation Test Engineer and Trainer having 13+ years of experience in Software Testing and Automation.
Comprehensive Core Java and Coding course for Automation Test Engineers. More than 40 Coding problems are solved in the course to get started and deep dive into Java Coding for beginners.
All required topics are covered in the course which are listed below
Getting Started with Java
JDK Installation
Eclipse IDE Installation
Write First Program in Java
Learn Basic Syntax Concepts of Java
Packages in Java - Inbuilt and User Defined
Adding Single Line and Multiple Line Comments to Java Code
Command Line Execution in Java (javac and java commands, .java and .class files, bytecode)
Basics of Java Programming
Operators in Java (Arithmetic, Logical, Relational, Increment, Decrement, Assignment and Ternary)
Conditional Statements (if, else if, else, switch case) with multiple Coding Examples
Looping Statements (while, do while, for loops) with multiple Coding Examples
Jumping Statements (break and continue keywords Coding Examples)
Basic Java Programs for the Coding - Factorial, Fibonacci number series, Star Patterns, Number Patterns and many more basic coding problems
Arrays Concepts and Important Algorithms for Arrays in Java
Arrays in Java - 1D and 2D
Linear Search Algorithm in Arrays
Bubble Sort Algorithm in Arrays sorting of Numeric Arrays
Multiple Java Programs in Arrays, which are frequently asked in interviews
String Concepts in Java and Advanced concepts, All Important and Frequently asked Java Programs
String class concepts in Java
String Buffer and String Builder
String Constant Pool and Heap Memory in Java Strings
Frequently Asked Java Programs with detailed solutions for Java Strings
String Comparisions using == and equals method - 4 different ways, which is important topic to learn
Anagram Strings, Pangram String, Reverse a String with 4 different approaches, String Concatenation with Number, String and Arithmetic Operators, Palindrome String, Reverse Each Word in a Given String etc.
Java Object Oriented Programming System (OOPS) concepts with detailed Coding Explanations
Classes and Objects creation, Instance variables vs Local variables
Methods and Constructors with detailed Coding Examples
Recursion Algorithm program - Print Numbers without using Loops
Polymorphism - method Overloading concepts with detailed Coding examples
Overloading main method Coding Examples
Encapsulation Coding Examples with detailed Explanations
Inheritance in Java, Types of Inheritance and detailed Coding Examples
Method Overriding detailed Coding examples
Method Overloading vs Method Overriding differences
Abstraction in Java, Abstract class and Interface concepts with detailed Coding Examples
Functional Interface concepts with Coding Examples
Multiple Inheritance implementation using Two or more Interfaces
Java Keywords with detailed Coding Explanations
static keyword concepts in Java with Coding Examples
System.out.println( ) - static variable concept
Math.random( ) - static method concept.
this keyword for accessing instance variables and Constructors
Constructor chaining concept using this( ) keyword
final keyword detailed Coding examples
super keyword detailed Coding examples
Access Modifiers in Java (public, protected, default, private)
Additional Important Concepts in Core Java Programming
Everything about main method - passing arguments with Run Configurations and Command line
Wrapper Classes in Java - AutoBoxing and AutoUnboxing concepts
Enumeration constants in Java
Simple Date Format class in Java
Exception Handling in Java (try, catch, finally blocks, throw and throws keywords)
JAR Files creation - Java ARchive file creation and extracting them
Type Casting in Java (Up Casting and Down Casting for Primitive Data Types and Class Objects)
File Handling in Java
Generics in Java (must learn for Java Collections and Automation framework development)
Java Collections - Must Learn for Automation Test Engineers and Coding Interviews
ArrayList and List concepts in Collections
HashSet and Set concepts in Collections
HashMap and Map concepts with Key and Value pairs in Collections
Students has Lifetime access to the recordings from Udemy.
Course can be accessed from Desktop Web browser on Udemy website, Mobile Apps (Android and iOS).