Call 0917 798 1811 | Email hello@ivtstechnology.asia
About the Course
This Introduction to Java course provides a comprehensive overview of Java programming concepts for beginners. Participants will explore the fundamentals of Java, including object-oriented programming, basic syntax, variables, data types, control structures, and arrays. The course also delves into more advanced topics such as inheritance, interfaces, exceptions, collections, and inner classes. Throughout the course, students will have opportunities to practice and apply their newly acquired skills in various exercises and projects.
Benefits
Comprehensive Coverage: The course covers essential Java concepts and techniques, providing a solid foundation for students to build upon.
Hands-On Learning: Students will participate in practical exercises and projects, allowing them to apply their knowledge and gain valuable experience.
Progressive Structure: The course is structured to gradually introduce new concepts, ensuring that students can grasp each topic before moving on to the next.
Engaging Content: The courseware is designed to keep students engaged and interested, with a mix of theoretical explanations, examples, and exercises.
Experienced Authors: The courseware was written by industry experts with years of experience in Java programming and education, ensuring the content is accurate, relevant, and up-to-date.
Required Prerequisites
Some prior programming experience in a procedural or object-oriented language.
Knowledge of Object-oriented Analysis and Design (OOAD) is extremely helpful in Java (and other) programming. We recommend learning OOAD, but you can do so at any stage of your learning. It will make you a better programmer, especially in a team environment.
Course Outline
Java Introduction
The Java Environment - Overview
Writing a Java Program
Obtaining The Java Environment
Setting Up Your Java Environment
Creating a Class that Can Run as a Program
Useful Stuff Necessary to Go Further
Using an Integrated Development Environment
Running a Simple Java Program
Using the Java Documentation
Java Basics
Basic Java Syntax
Variables
Data
Constants and the final Keyword
Mathematics in Java
Creating and Using Methods
Variable Scope
Method Exercise
Java Objects
Objects
Object-oriented Languages
Object Definition
References
Defining a Class
More on Access Terms
Adding Data Members to a Class
Standard Practices for Fields and Methods
Java Beans
Bean Properties
Payroll01: Creating an Employee Class
Constructors
Instantiating Objects Revisited
Important Note on Constructors
Payroll02: Adding an Employee Constructor
Method Overloading
Payroll03: Overloading Employee Constructors
The this Keyword
Using this to Call Another Constructor
Payroll04: Using the this Reference
static Elements
The main Method
Payroll05: A static Field in Employee
Garbage Collection
Java Packages
Compiling with Packages
Working with Packages
Payroll06: Creating an employees Package
Variable Argument Lists (varargs)
Payroll07: Using KeyboardReader in Payroll
Creating Documentation Comments and Using javadoc
Payroll08: Creating and Using javadoc Comments
Primitives and Wrapper Classes
Encapsulation
String, StringBuffer, and StringBuilder
Compiling and Executing with Packages
Object-oriented Programs
Comparisons and Flow Control Structures
Boolean-valued Expressions
Comparison Operators
Comparing Objects
Conditional Expression Examples
Complex boolean Expressions
Simple Branching
The if Statement
if Statement Examples
Payroll-Control01: Modified Payroll
Two Mutually Exclusive Branches
Comparing a Number of Mutually Exclusive Options - The switch Statement
Comparing Two Objects
Conditional Expression
Payroll-Control02: Payroll with a Loop
Additional Loop Control: break and continue
Continuing a Loop
Classpath, Code Libraries, and Jar Files
Creating and Using an External Library
Compiling to a Different Directory
Conditionals and Loops
Game01: A Guessing Game
Game02: A Revised Guessing Game
Game03: Multiple Levels
Game04: Guessing Game with a Loop
Arrays
Defining and Declaring Arrays
Instantiating Arrays
Initializing Arrays
Working with Arrays
Enhanced for Loops - the For-Each Loop
Array Variables
Copying Arrays
Using the args Array
Arrays of Objects
Payroll-Arrays01: An Array of Employees
Multi-Dimensional Arrays
Multidimensional Arrays in Memory
Example - Printing a Picture
Typecasting with Arrays of Primitives
Java Arrays
Game-Arrays01: A Guessing Game with Random Messages
Inheritance
Inheritance
Payroll with Inheritance
Polymorphism
Creating a Subclass
Inheritance and Access
Inheritance and Constructors - the super Keyword
Example - Factoring Person Out of Employee
Payroll-Inheritance01: Adding Types of Employees
Inheritance and Default Superclass Constructors
Typecasting with Object References
More on Overriding
Payroll-Inheritance02: Using the Employee Subclasses
Other Inheritance-related Keywords
Payroll-Inheritance03: Making Our Base Classes Abstract
Methods Inherited from Object
Checking an Object’s Type: Using instanceof
The Instantiation Process at Runtime
Inheritance Example - A Derived Class
Inheritance Examples
Derived Class Objects
Derived Class Methods that Override Base Class Methods
Object Typecasting Example
Typecasting with Arrays of Objects
Interfaces
Interfaces
Creating an Interface Definition
Implementing Interfaces
Reference Variables and Interfaces
Interfaces and Inheritance
Exercise: Payroll-Interfaces01
Some Uses for Interfaces
Annotations
Using Annotations
Annotation Details
Exceptions
Exceptions
Handling Exceptions
Exception Objects
Attempting Risky Code - try and catch
Guaranteeing Execution of Code - The finally Block
Letting an Exception be Thrown to the Method Caller
Throwing an Exception
Payroll-Exceptions01: Handling NumberFormatException in Payroll
Exceptions and Inheritance
Creating and Using Your Own Exception Classes
Payroll-Exceptions02
Rethrowing Exceptions
Initializer Blocks
Logging
Log Properties
Assertions
Collections
Using the Collection Classes
Using the Iterator Interface
Creating Collectible Classes
Generics
Bounded Types
Extending Generic Classes and Implementing Generic Interfaces
Generic Methods
Variations on Generics - Wildcards
Type Erasure
Multiple-bounded Type Parameters
Payroll-Collections01: Payroll Using Generics
Working with Streams and Lambda expressions
Working with Streams and Lambda expressions
Inner Classes
Inner Classes, aka Nested Classes
Inner Class Syntax
Instantiating an Inner Class Instance from within the Enclosing Class
Inner Classes Referenced from Outside the Enclosing Class
Referencing the Outer Class Instance from the Inner Class Code
Better Practices for Working with Inner Classes
Enums
Inner Classes
Method Inner Classes
Anonymous Inner Classes