top of page

Introduction to Java

Duration

Course Code

5 Days

JVA102

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 

  1. Comprehensive Coverage:  The course covers essential Java concepts and techniques, providing a solid foundation for students to build upon. 

  2. Hands-On Learning: Students will participate in practical exercises and projects, allowing them to apply their knowledge and gain valuable experience. 

  3. Progressive Structure:  The course is structured to gradually introduce new concepts, ensuring that students can grasp each topic before moving on to the next. 

  4. Engaging Content:  The courseware is designed to keep students engaged and interested, with a mix of theoretical explanations, examples, and exercises. 

  5. 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 

 

bottom of page