
Explore the basics of java for android, recognizing java as a portable, object‑oriented language compiled to bytecode and run on the java virtual machine via jdk, jre, and android.
Install Java and Eclipse to begin android java development. Choose the correct 32-bit or 64-bit installer for your OS, launch Eclipse, and configure the workspace and preferences.
Create your first Java program in Eclipse by defining a class and a main method that prints Hello world to the console.
Learn how variables act as containers to hold values, declare and initialize an integer, print text together with the variable, and update its value while avoiding reserved keywords.
Declare constants in Java with final to prevent reassignment after the initial value, and see how constants differ from variables using numeric examples and a bonus percentage scenario.
Learn how to use Java comments, including single-line and multi-line styles, to explain code and temporarily disable statements. Understand that comments do not execute and improve future readability for developers.
This lecture covers Java primitive data types, detailing eight types: byte, short, int, long, float, double, char, and boolean, including ranges, storage, and simple declaration tests in a sample class.
Explore how arrays store a list of values, access via zero-based indices, and two initialization methods—inline values and new type[] size—while avoiding out-of-bounds errors.
Discover methods as reusable subroutines that perform calculations, define a public static int calculate method with two parameters, and reuse it for addition or multiplication.
Explore the do-while loop and contrast it with the while loop. The do-while executes the body at least once, evaluating the condition at the end, with a semicolon.
Explore break and continue statements in Java loops, compare their effects, and learn how break exits the loop while continue skips one iteration and proceeds.
Master switch case statements that map a variable to multiple values with break and default handling. Use a day-based example (1–7) to show how switch improves readability over if-else chains.
Demonstrate nested loops in Java by printing lines with increasing numbers of asterisks using a loop inside a loop, illustrating multi-level iteration and output control.
Explore variable scope by showing how a variable defined inside a block remains local, while declaring it outside allows access across blocks and avoids duplicates.
define a class as a blueprint for objects in java, and create an employee with fields name, job title, and salary. use a constructor and getters/setters to manage state.
Create and test employee objects using a constructor with name, title, and salary; use getters, setters, and a toString method to display object data.
Explore how classes and objects work in Java, focusing on the String class, constructors, and access modifiers, including default versus parameterized constructors and how Eclipse helps generate them.
Learn how inheritance lets a subclass like manager gain the employee's fields and methods, then add a bonus and use super constructors.
Explore polymorphism by letting a parent type reference a child and call overridden methods, as shown with manager vs. employee bonuses. See upcasting, overriding, and inherited salary in Java.
Explore how packages organize classes as namespaces and how imports access classes from different packages, then learn how private, public, protected, and default access modifiers control visibility.
Create an array of employee objects with length five, initialize each element as an Employee, and print their names. Initialize all objects before use to avoid errors.
This video introduces the string class, shows string creation and concatenation, and explains immutability, while covering length, equals, and equalsIgnoreCase methods.
Explore primitive wrappers in Java, including the Integer and Double classes, learn auto boxing and unboxing, and use parse methods to convert strings to primitives.
Explore static methods in Java, learn how class level methods work without objects, and call them via the class name using built in math utilities like max.
Explore abstract classes as base shapes with abstract methods like calculate area, and see concrete subclasses such as rectangle implement these methods, with getters and setters, and proper instantiation rules.
Extend the abstract shape class by creating a circle subclass, override the area method, and add a radius with getters. Use Math.PI for area and display the circle name.
Explore how interfaces enable multiple behavior contracts in Java. Compare them with abstract classes and single inheritance, and learn to implement multiple interfaces with method signatures.
Learn how final classes prevent inheritance in Java, allowing you to instantiate them while blocking subclassing. Explore examples with Math and String classes and practical reasons to use final.
Explore inner classes and nested classes in Java, using a private inner class for an employee name, with constructors and access via the outer employee class.
Explore anonymous classes that implement a machine interface with start and stop, creating a one-off car object without a named class, and use this shorthand in event handling.
Explore how to handle checked exceptions in Java by using try-catch blocks with a file reader, learn about file not found exceptions, and prevent stack traces.
Learn how the throws keyword lets a method throw exceptions for the caller to handle, illustrated with a file reader in Java and multiple exception types.
Extend the Java exception class to create a custom exception with an error code and message, organized in a separate package, using throws and catch for consistent error handling.
Explore unchecked exceptions in Java, including runtime exceptions like null pointer and index out of bounds. Learn why these bugs should be fixed rather than always caught.
Learn how to use the runnable interface to implement multi-threading in Java, create a new thread, start it, and see parallel execution with the main thread.
Learn how to create multithreaded Java programs by extending the Thread class, overriding run, and starting a new thread, while contrasting with Runnable implementations for greater flexibility.
Master Java multi-threading by creating multiple threads, using the run method, and putting threads to sleep with Thread.sleep to observe execution in main thread and child threads for five seconds.
This course is designed to help someone new to Java grasp the basic concepts quickly. Although the course teaches the absolute basics of Java in order to pick up Android programming, this course will be equally helpful for anyone who just wants to learn Java Basics
Who is this course for?
Who is this course NOT for?
I hope the course helps you in learning Java faster and I welcome all feedback. I will be right there with you answering questions and helping you along the way. If you feel that any lecture needs corrections or further elaboration, please send your feedback. I will be happy to record the lecture again and upload it.
Let's learn Java!