
Master the fundamentals of object-oriented programming in Java through hands-on practice, UML-driven specifications, defensive programming, and version management, while understanding JVM bytecode and the four main Java editions.
Define the Java development lifecycle and compilation process, analyze use cases, and install the Java development kit and Intelligent ID; learn variables, data types, and operators, and compile and run.
Install the Java development kit and set the path, install IntelliJ community edition, create a hello world Java project in a com.docs.learn package, and run or compile it.
Create a java project in IntelliJ, declare int, short, float, double, and long variables, and print values and sizes in bytes. Round a float to two decimals with decimal format.
Define char variables with single quotes and print their values; explore ASCII mappings, concatenation, and converting strings to chars and back using char arrays and string objects.
Define and evaluate boolean variables using true/false values, and practice logical operators (and, or, not) with comparisons like greater than, less than, and equals to determine truth.
Learn to handle user input in Java with the scanner library, prompt for name and age, store values, and use an if statement to print voting eligibility (18 or older).
Prompt two numbers via a scanner, then perform addition, subtraction, multiplication, and division in Java. Format results with DecimalFormat and convert to double to show two-decimal outputs.
Explore the Java date time api by creating local time, date, date-time, and time zone values with LocalTime, LocalDate, LocalDateTime, and ZonedDateTime. Use DateTimeFormatter to format and display them.
Create a Java program that uses the date time class to compute the age difference between two siblings born on March 3, 1999 and September 20, 2003.
Develop a Java console program in IntelliJ that prompts for a principal, computes interest at 0.035% for one year, updates the principal, and prints both figures to two decimals.
Explore the Java development lifecycle and compilation process, examine use cases where Java excels, review versions and essential tools, and practice running programs from the command line.
Explore strings, string builder, and string methods, and apply data flow diagrams to Java programs. Use if-else, switch, and ternary operators, loops, arrays, and built-in or custom methods.
Explore strings in Java by declaring variables, measuring length, concatenating, comparing with equals, escaping quotes, using the new string constructor, and formatting output with printf and placeholders.
Explore Java strings: define with new String() or string literals, concatenate, and apply built-in methods: length, index, substring, trim, indexOf, toUpperCase, toLowerCase, equals, and split for arrays and regex-based splitting.
Explore typecasting in Java, including widening (implicit) conversions between byte, short, int, float, and double, and narrowing (explicit) conversions. Learn to convert between integers and strings with Integer.parseInt and String.valueOf.
Explore flow control in Java using if/else and the ternary operator to compare test scores against a pass mark. Read input with a scanner, assign grades, and print results.
Use a switch statement with cases and break to map 1–7 to weekdays. Prompt day input via a scanner, print the weekday, and use default for out-of-range values.
Explore flow control with while, do-while, and for loops in Java, defining an iterator, setting conditions, and printing values while incrementing or decrementing as shown.
Explore how break and continue control flow in while and for loops in Java, showing how break exits loops and continue skips specific iterations by value of i.
Explore arrays in Java to store multiple values in a variable with zero-based indexing. Use for loops and for-each loops to print, modify, and set int, double, and string arrays.
Learn how to define and call methods in Java to reuse code, covering signatures, static and public modifiers, overloading, return types, and practical examples like greeting, average, and min.
Create an int array of four scores, read input with a Scanner in a for loop, and print the sum and the average (cast to double).
Create a Java program that finds the maximum value in an int array using a public static int method and a for loop, with the main method printing the result.
Explore strings, string builder, and string methods to manipulate data, examine data flow diagrams, and apply if else, switch, and ternary operators with loops, arrays, and Java programs.
Explore classes and objects, constructors and getters/setters, abstract classes vs interfaces, and inheritance and polymorphism while working with lists and ArrayList, file I/O, predicates, lambdas, and exception handling.
Discover how classes serve as blueprints for objects in Java, and how state and behavior define real world instances, using constructors, this, getters, setters, and object instantiation.
Explore constructors that initialize objects from a class blueprint and enforce encapsulation. Learn about getters and setters, default, parameter-based, and overloaded constructors, and the this keyword's role in access control.
Explore the four pillars of object-oriented programming—encapsulation, abstraction, polymorphism, and inheritance—through Java examples like an abstract shape class, circle, and rectangle, with notes on access modifiers and the abstract keyword.
Learn how inheritance works in Java by extending a student class to create an undergrad subclass, access protected fields, compute the average, and use setters and getters for email.
Explore multilevel inheritance from vehicle to car to sports car, implement constructors, properties, and methods like accelerate and get details, and demonstrate polymorphism through method overriding and the super keyword.
Explore abstract classes in Java by modeling shapes with a shape abstract class and concrete Circle and Rectangle classes, implementing draw, get area, and get perimeter through inheritance.
Interfaces in Java are contracts, a reference type with constants and method signatures, implemented by classes such as a person or dog via a walkable, workable interface.
explains static and final constants, and how to combine them to create constants in Java; introduces enums, predefined constants, constructors, fields, methods, and using values, ordinal, and dot access.
Explore the java collections framework, built from interfaces, implementations, and algorithms to store, retrieve, and manipulate elements through the root collection and subinterfaces like list, queue, and set, including ArrayList.
Explore how Java handles runtime errors by creating exception objects, and learn to manage them with try-catch-finally blocks, using division by zero as a practical example.
Master file handling in Java and IntelliJ by creating files with the file class and file output stream using try-catch blocks, and appending content with buffered writer while handling exceptions.
Build a day-based program using an enum for the week and a day checker that prints a unique message for each day via a switch.
Explore classes and objects, setters and getters, constructors, inheritance, interfaces, and polymorphism, then practice ArrayList usage, file input and output, predicates, lambdas, and defensive programming.
Explore UML diagrams in real-world programs. Build an ATM simulation and payroll system, and learn to use GitHub for version control and career development.
The lecture builds a payroll system with an abstract employee base class, salaried and hourly subclasses, a payable interface, and address aggregation, implemented in IntelliJ with Java.
Update the payroll management system by modeling department and company relationships with aggregation and composition, implement department and company classes, and enable pay calculation for salaried, hourly, and contractor employees.
Implement the pay stub generation for salaried employees in a payroll system, detailing company data, date formatting, and string construction to print and save stubs.
Learn to set up git and GitHub for a java project in IntelliJ, enable version control, commit changes with clear messages, manage ignore rules, and share the repository on GitHub.
Learn how to group employees by department in a Java payroll system, adjusting access to the department field, using streams and collectors to produce department-wise lists, and formatting output.
Implement an ATM simulation in Java by building a bank account model with a transactions interface, a base account class, and savings and checking subclasses, including withdraw, deposit, and balance.
Create a separate user prompts class to decouple the ATM interface, validate PIN, and present a main menu with withdraw, deposit, balance, and exit options.
Learn inheritance in Java by turning the account class into an abstract base and deriving savings and checking accounts with interest and fees, while supporting deposits, withdrawals, and balance updates.
Implements a transactions log for the ATM project, recording deposits and withdrawals to a file, formatting dates for readability, and enabling reading and printing the history.
Push an ATM simulation project to GitHub in one go from IntelliJ by sharing the project, selecting files for the initial commit, and adding a readme for your portfolio.
Apply concepts from real-world simulations, including ATM and payroll system, and use GitHub version control. Explore next steps in Java trends, Spring framework, Mendix low-code, Android development, and freelance opportunities.
This course offers an introduction to the paradigm and features of object-oriented programming using a modern object-oriented language that is relevant and popular in industry. The course entails the modeling of objects and classes, object-oriented facilities such as inheritance and polymorphism, native data structures, exception handling, file management and streams.
COURSE OBJECTIVES
Set up classes in a modern Object-Oriented language
Use and understand inheritance facilities
Use and understand interfaces
Demonstrate polymorphic behavior
Use collections and data structures
Use exception handling facilities and defensive programming
Create solutions based off UML models
Java is one of the most in-demand programming languages, It’s:
Simple
Secure
Object-Oriented
Fast
Java is everywhere, from web server tools to enterprise software and android apps, It’s also the foundation of the Android operating system.
When you enroll in this course, you’ll learn core programming concepts that will equip you to write programs that solve complex real-world problems and additionally, you will gain the foundational skills you need to advance your career as a software engineer.
This course is specifically designed for beginners and anyone seeking to strengthen their Java domain knowledge and It will prepare you for a Jr Java Developer position or your programming gig.
According to sites like Indeed and Glassdoor, a junior Java developer can earn anywhere from $60,000 to 6 figures a year on average! With many of these opportunities being remote based.
Take your first step towards a career in software development with this introductory course to Object Oriented Programming in Java.