
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Install and configure a Java development environment using NetBeans or Eclipse, install the JDK, and learn objects, classes, methods, and instance variables with Git versioning in a cross-platform setup.
Create executable Java applications with a main method.
Run a Java program from the command line.
Produce console output.
Define the scope of variables
Explore core data types in programming, including boolean, integer, character, float, double, and string, and how memory allocation and default values define them; compare strongly typed and weekly typed languages.
Explore how variables store and update user input and calculated values, and apply arithmetic, remainder, relational, and logical operators to form expressions and boolean decisions.
Learn Java declaration rules: one public class per source file, multiple non-public classes allowed, public class name matches the source file, and import and package statements apply to all classes.
Explore how Java packages and import statements organize classes, and build a student class with fields, constructors, and methods, run from main to print details.
Explore if statements and conditional logic to direct program flow with boolean conditions, if-else, and simple examples like a calculator.
Learn how to implement decision making in Java using if statements, if-else chains, nested conditions, and switch cases with break and default.
Explore loops and iteration by comparing while and do-while structures, showing how i from 0 to 4 prints hello world five times and handles conditions.
Explore loops in Java, including for, while, and do while loop, and how initialization, boolean expressions, and updates control repeated execution; break and continue manage loop flow.
Explore how arrays store multiple integers in C, declaring a one-dimensional array, initializing values, and accessing elements via indices from base to last.
Explore two-dimensional and three-dimensional arrays, compare them with one-dimensional arrays, and learn how to organize students by class and school across multiple dimensions.
Learn how to declare and use arrays in Java, iterate with for loops, sum elements, and find minimum and maximum values, then print all elements.
Explore two-dimensional arrays with a 3x4 rating table of reviewers and movies, using zero-based row and column indices. Compute a reviewer's average by summing a row and dividing by four.
Explain functions as reusable code blocks that take input and return output, enabling modular software design. Compare built-in and user-defined functions across functional programming concepts.
Learn to perform file input and output by reading from and writing to files using modes like read, write, append, and read-write, with C++, Java, and Python examples.
Master file input/output in Java using file input stream and file output stream, with import java.io.* and handling IOException and file not found exceptions.
Discover object oriented programming as a paradigm centered on objects with attributes and methods, teaching how objects interact, analyze requirements, and design and implement with classes.
Explain how object oriented programming centers on objects and classes, where classes define data and methods and objects are instances with identity, state, and behavior, including inheritance for code reuse.
Explore objects and classes in Java, including states and behaviors, polymorphism, inheritance, encapsulation, abstraction, constructors, instantiation, and how objects interact through methods.
Explore how import statements and packages organize Java classes, then define a student class with fields, constructors, and methods, and run a test class to print details.
Explore methods in object-oriented programming and the five terms—class variables, instance variables, member variables, class methods, and instance methods.
Learn how to define and invoke methods in Java, with and without parameters, return values or void, including examples of max methods and reusable code.
Encapsulation binds data and the functions that manipulate it, enforces access restrictions with private and public modifiers, and enables data hiding to protect internals.
The lecture explains method passing, where an object selects the code to run in a method call via dynamic dispatch. Multiple and directional message passing occur between objects.
Explore inheritance in object oriented programming, from base or super classes to derived and sub classes, and learn the five types: single, multiple, multilevel, hierarchical, and hybrid.
Explore polymorphism as subtyping that allows the same method name to behave differently across circle and square shapes, dog and cat sounds, and inherited classes, via a common external interface.
Explore generalization and specialization: build generalized superclasses from common traits and derive specialized subclasses, learn 'is a kind of' relationships, and how teams decide when to generalize or specialize.
Explore how associations define relationships between objects and how links instantiate those associations, including binary, ternary, and one-to-one to many-to-many cardinalities in dbms.
Learn a three-step process to master SQL, the language for retrieving and managing data in relational databases across popular RDBMS like MySQL, MariaDB, SQL Server, Oracle, and PostgreSQL.
Understand why SQL is the standard language for relational database systems, enabling data storage, retrieval, and manipulation for popular web and mobile apps.
Install and configure XAMPP to run Apache, MySQL (or MariaDB) database server, with SQLYOG Community Edition as the database client for local development.
Start and manage database services from the control panel, including Apache web server and MySQL (MariaDB), verify port 3306, monitor process IDs, and review status logs.
Connect to a MySQL server on localhost as root, test the connection, and create your first database with a query, then explore tables, views, stored procedures, functions, triggers, and events.
Learn how to drop and recreate a database using SQL queries, including showing databases, creating new ones, and refreshing the browser, with emphasis on backing up to avoid data loss.
Create the first database table students with id as integer primary key not null, name as varchar(30) not null, and optional grade and degree as decimal.
Learn how to drop a table with the drop table statement, verify the table is removed by refreshing the objects, and then use insert into to add new rows.
Learn how to write insert statements to add data to a table, specify column names or omit them for all columns, and verify results by refreshing the table.
Create a new table from an existing table using a select statement to copy all data, producing a new students table and its result set.
Learn the basic select statement to retrieve data from a table, using select * or selecting column names from a table such as students, showing names and AIDS.
Master the where clause to filter records in select, insert, update, and delete queries, handling integers and strings with quotes or brackets.
Master SQL operators for filtering data, including greater than, less than, and equal, and combine conditions with and or to tailor select queries like name and age from students.
Modify existing records in a table using the update query and update statement by setting column values and applying where conditions; verify changes with a select.
Execute delete statements to remove records from a table, such as deleting from students where name equals Chris. Omitting the where clause deletes all records, and refreshing confirms the update.
Learn how the like operator uses wildcard characters, % and _, to filter values in a where clause, enabling pattern matching such as names containing MAL or starting with Greece.
Learn how to limit query results across MySQL, MSSQL, and Oracle using limit, top, and rownum, with the same logic to fetch a specific number of records.
Learn to use the order by clause to sort query results in ascending or descending order, including multi-column sorting, while ensuring the sort columns appear in the select list.
Explore how the group by clause works with select to group rows by name, then apply aggregates like sum or count before the order by clause.
Learn how to use the distinct keyword with select to return only unique records and remove duplicates, with basic syntax and examples from a students table.
Learn to delete data with delete and truncate, drop and recreate tables, and verify results with select queries to understand basic SQL data manipulation.
Study Java SE 8 through code examples, programming exercises and focused revision activities. This course uses the OCA 1Z0-808 context to organise foundational Java concepts, helping you distinguish code that compiles from code that behaves as intended.
Start with the development environment and a main method, then work through variables, types, operators, conditions and loops. Arrays, file operations and exception handling lead into object-oriented programming. Additional SQL material introduces a separate set of database concepts for learners who want to broaden their application knowledge.
What to practise
Trace scope, types and variable values through a short example.
Explain the condition that selects a branch or ends a loop.
Follow the execution path when an exception occurs.
Compare your expected output with the result from a Java SE 8-compatible environment.
The final study labs concentrate on code tracing and exception paths. Write your prediction before running an example, identify the rule involved and change one detail to test that explanation. This makes a correction more useful than simply remembering which answer was accepted.
The course suits learners building Java foundations and people revising the SE 8 topic area. Review the actual curriculum for the available exercises; the study activities should not be assumed to form a complete timed mock-exam bank.
Oracle exam availability, objectives and registration arrangements can change. Confirm the current official information before booking an examination, and compare it with the material you plan to use. Choose this course for structured Java SE 8 learning and repeatable code-reading practice, with time to investigate mistakes in your own development environment.
Studying precision in Java SE 8
A short Java example can depend on several rules at once: the type of a value, the scope of a name, the order of operations and the branch that executes. This course provides a structured introduction and review using recorded Java SE 8 and 1Z0-808 context. The objective is to make those rules easier to reason about. You can use the material to strengthen foundational understanding before further Java study, while checking any separate examination plan against the requirements and availability that apply to you.
Beginning with types and values
The basic Java lessons help you examine what a value is and how it is used. When a result is surprising, a type or conversion may be part of the explanation. Do not begin by memorising isolated output strings. Instead, annotate a small example with the value you expect after each important statement. This creates a trace you can compare with compilation or execution. A precise account of the intermediate state is more useful than an unexplained correct answer to one familiar question.
Understanding scope
A name is meaningful within a context, and scope affects which variable or member a statement refers to. The revision lab makes scope part of a broader code-tracing task. A productive way to study is to identify where each relevant value becomes available and where it stops being available. If two parts of an example use similar names, write down which one each statement refers to. This encourages careful reading rather than guessing from the final line. It also supports clearer explanations when you discuss a compiler error.
Decisions and repeated execution
Conditions and loops introduce the paths through a program. An expression may be valid while a branch rule still describes the wrong cases. Likewise, a loop may have correct syntax but an incorrect stopping condition. Work through the recorded examples by predicting the path first. Then test a value near a boundary and explain why it belongs in a particular case. The important skill is connecting the language rule with the result, not merely recognising that a code fragment resembles an earlier exercise.
Arrays, files and exception handling
The collection and resource examples ask you to consider more than a single value. An array has valid positions and contents; a file operation depends on something outside the immediate expression; an exception changes ordinary control flow. The introductory sections provide a place to examine those differences. In your practice notes, identify the assumptions made by the example before interpreting its output. This makes it easier to distinguish a language misunderstanding from an unexpected condition in the environment where you ran the code.
Developing an OOP explanation
Object-oriented study includes classes, methods, inheritance and related relationships. Those concepts become useful when you can describe what an object represents and which behaviour belongs to it. Use a small example to distinguish a definition from an instance and a declaration from an actual call. Then explain the result of the interaction. This gives substance to the terminology. The course introduces these foundations rather than promising a comprehensive treatment of every design technique used in large Java applications.
Practice items and revision
The listed programming practice supports review of the recorded concepts. Inspect the actual curriculum items rather than assuming that the title alone describes the size or format of an exam bank. When working on a question, make a prediction and record your reasoning before checking the result. A missed answer should lead to a specific revision note: scope, type conversion, loop progression or another identifiable concept. That note is useful when the next example changes the details and a memorised answer no longer applies.
The SQL extension
The later database material moves beyond core Java SE study toward an introductory view of stored data. You can use it to understand why an application may need information organised as records and tables. It is an extension of the foundation, not a claim of full enterprise-backend training. Keep its purpose clear when planning your study. If your immediate goal is careful Java code tracing, complete that work before allowing additional technologies to distract from an unresolved language concept.
A version-aware study path
Java SE 8 is the explicit context for the course. Examples and examination references should be interpreted accordingly. Newer Java environments may introduce differences that deserve separate checking. This course is a useful choice if you want a deliberate pass through foundational concepts or a review of older material with clearer reasoning. It does not guarantee a current certification result or replace the official objectives for an assessment. Aim to finish with explanations you can reproduce independently and a list of topics that need further practice, rather than relying only on familiarity with the recorded questions.
Curriculum at a glance
Java Basics
If-Statements and Conditional Logic
Loops and Iteration
Arrays, File Input/Output and Exception Handling in Java
Object-oriented Programming in Java
Introductory SQL and stored data beyond the Java SE 8 foundation
Java SE 8 revision planning for the recorded 1Z0-808 material