Course Code: 5769

Introduction to Java 11 Using Eclipse Training

Class Dates:
1/1/0001
Length:
5 Days
Cost:
$2395.00
Class Time:
Technology:
developer
Delivery:
Instructor-Led Training, Virtual Instructor-Led Training

Overview

  • Course Overview
  • This course introduces the Java programming language and how to develop Java applications using Eclipse. Students learn the syntax of the Java programming language, object-oriented programming using Java, exception handling, generics, collections, and file input/output (I/O). During the course, students will develop and test Java applications using Eclipse.

    This course covers Java SE 11

    Throughout the course students will also work on a "project" which develops a complex Java application by applying principles learned to meet changing application requirements. This project is intended to simulate the programming environment they would encounter in real-world projects by providing application requirements and challenging the student to write Java code to meet those requirements.
  • Audience
  • This course is intended for programmers who are interested in adding Java to their skills.

Prerequisites

  • It is beneficial but not required for students to be familiar with object-oriented principles and the concept of object-oriented programming.

Course Details

  • Topics
  • Java basics
  • Basic introduction to Eclipse
  • Branching and looping
  • Objects
  • Advanced class concepts
  • Arrays
  • Exceptions
  • Collections and Generics
  • Stream I/O
  • Practical work.
  • Extensive practical exercises take students through all major aspects of the design and development of Java programs.
  • Students will be introduced to various wizards and tools available from Eclipse.
  • After completing this course, the student should be able to:
  • Apply OOP principles
  • Design OO applications using abstraction, encapsulation, modularity and hierarchy
  • Use Java exceptions to guarantee graceful error recovery for your application
  • Create and use inner classes in your program to make them concise and clear
  • Do input/output using Java
  • Create servlets and JavaServer Pages
  • Use Eclipse for Java application development
  • Chapter 1 - Overview of Java
  • History Of Java, Java Release Cycle
  • Benefits Of Java, What Is Java?
  • What's This "Virtual Machine"?
  • Comparison to Other Languages
  • Java Programs
  • Basic Java Development Tools
  • Java Editions
  • Example – HelloWorld
  • Java Classes
  • Main Methods
  • Statements
  • Chapter 2 - Java Tools in Eclipse
  • Eclipse Platform, Eclipse Workspace
  • Perspectives, Views & Editors
  • Basic Operations with Eclipse Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Package Explorer
  • Outline View, Problems View
  • Eclipse Preferences, Build and Validation
  • Code Completion, Templates and Snippets
  • Searching, Configure Compiler Class Path
  • JRE Switching
  • Chapter 3 - Basic Object Concepts
  • What Is An Object?
  • State, Behavior
  • Encapsulation,Encapsulation and Examples
  • Classes vs. Objects
  • Inheritance
  • Interfaces
  • Polymorphism
  • Benefits Of Objects
  • Chapter 4 - Basic Java Syntax
  • Declaring And Initializing Variables
  • Keywords, Coding Tips – Variables
  • Primitive Data Types, Logical - boolean
  • Textual - char and String
  • Integral - byte, short, int, long
  • Floating Point - float and double
  • Numeric Literals
  • Strings, Creating Strings, White Space, Comments
  • Coding Tips - Comments, Java Statements
  • Coding Tips - Statements, Scope of a Variable
  • Local Variable Type Inference, System.out/System.in
  • Scanner Class
  • Chapter 5 - Operations and Making Decisions
  • Operator Categories, Special Situations, Binary Operators
  • Integer Division, Numeric Promotion
  • Type Conversion Of Primitive Types, Unary Operators
  • Relational Operators, Logical Operators
  • "Short Circuited" Operators, Bitwise Operators
  • Shift Operators, Overflow And Underflow
  • Assignment Operators, Ternary Operator
  • Calculation Errors, Operator Precedence
  • Precedence Examples, Combining Strings
  • Coding Tips - Operators, Control Flow Statements
  • 'if' Statement, 'if…else' Statement
  • Nested Statements, Coding Tips - if & if-else
  • Chapter 6 - Using Classes and Objects
  • Objects, Instances, And Classes
  • What Are Classes?
  • Working With Classes And Objects
  • Instantiation
  • Instance Methods
  • Object References
  • Null Values
  • String Operations
  • "Wrapper" Classes
  • Autoboxing
  • Chapter 7 - Writing Classes
  • Why Define Your Own Classes?
  • Encapsulation, Elements Of A Class
  • Defining Classes
  • Coding Tips - Class Definitions
  • Fields, Defining Fields, Coding Tips - Fields
  • Methods, Defining Methods
  • Passing Parameters
  • Overloading Methods, Coding Tips - Methods
  • Local Variables vs. Instance Variables
  • Example - Defining a Class, Fields
  • Example - Defining a Method
  • Example - Calling a Method
  • Chapter 8 - Controlling Code Access and Code Organization
  • Controlling Access, Data Hiding
  • Encapsulation, JavaBeans
  • Packages, Naming Packages
  • Declaring Packages In Classes, Problems Solved With Packages
  • Package Access, Example - Access Modifiers
  • Import Statement
  • Using Classes From Packages
  • Coding Tips - Import Statements
  • Correlation To File Structure
  • Class Path
  • Java Core Packages, Java Module System
  • Java API Documentation
  • Chapter 9 - Constructors and Class Members
  • Constructors, Default Constructor
  • Multiple Constructors, Defining Constructors
  • Example - Calling Constructors, "Good" Constructors
  • 'this' Keyword, Using 'this' to Call a Constructor
  • Using 'this' to Set a Field, Class Members
  • Examples Of Class Members, Comparison With Instance Members
  • Use Of Class Variables, Static Class Methods
  • Use Of Class Methods, The Math Class
  • Main Method And Command Line Arguments
  • Declaring Constants
  • Coding Tips - Class Members
  • Useful Standard Class Members
  • Chapter 10 - Advanced Control Structures
  • 'switch' Statement, Example - switch
  • Switch "Fall Through", Using switch "Fall Through" for Multiple Options
  • Strings in switch Statement
  • 'for' Loop, Example - for, 'while' Loop
  • Example - while, 'do…while' Loop
  • Example - do while, Break Statement
  • Example - break, Labeled Statements
  • Example - Labeled break
  • Continue Statement
  • Example - continue
  • Example - Labeled continue
  • Coding Tips - Control Structures
  • Chapter 11 - Inheritance
  • Inheritance Is…
  • Inheritance Examples, Declaring Inheritance
  • Inheritance Hierarchy, Access Modifiers Revisited
  • Inherited Members, Instances Of A Subclass
  • Example Of Inheritance, Role In Reuse,
  • Overriding Methods, @Override Annotation
  • The super Keyword
  • Example - super Keyword
  • Problems with Constructors
  • Limiting Subclasses
  • Calling Methods in Constructors
  • The Object Class
  • Chapter 12 - Arrays
  • Arrays
  • Declaring Arrays
  • Populating Arrays, Accessing Arrays
  • Arrays of Objects, Array Length
  • Coding Tips - Arrays, Array References
  • Multidimensional Arrays
  • Arrays Of Arrays
  • Copying Arrays
  • For-Each loop
  • Command Line Arguments
  • Variable Arguments
  • Variable Arguments Example
  • Chapter 13 - Commonly Overridden Methods
  • Overriding Methods
  • Using Eclipse to Override Methods
  • toString(), toString() in Object
  • Overriding toString(), Comparing Objects
  • Using == vs. equals(..)
  • Overriding equals(..)
  • Complex Comparisons
  • equals(..) Example
  • hashCode()
  • Overriding hashCode()
  • hashCode() Example
  • Generating equals and hashCode
  • Chapter 14 - Exceptions
  • What is an Exception
  • Benefits, The java.lang.Exception Class
  • How to Work With Exceptions, Example Exception Handling
  • The try-catch-finally Statement
  • Flow of Program Control, Exception Hierarchy
  • Checked Exceptions, Unchecked Exceptions
  • Coding Tips - Exception Types, Catching Subclass Exceptions
  • Catching Multiple Exceptions
  • Specifying Thrown Exceptions, Rethrowing Exceptions
  • Rethrowing Exceptions, Chaining Exceptions
  • Creating your Own Exception, Java 7 – try-with-resources Statement
  • Suppressed Exceptions in try-with-resources
  • Chapter 15 - Interfaces and Polymorphism
  • Casting Objects, The instanceof Operator
  • Abstract Classes, Abstract Class – An Example
  • Interface, Interface – An Example
  • Comparable Interface, Comparable Example
  • Default Methods and Example
  • Static Methods
  • Coding Tips - Superclass or Abstract Class/Interface?
  • Coding Tips – Abstract Class or Interface
  • Polymorphism, Conditions for Polymorphism
  • Coding Tips - Leveraging Polymorphism
  • Covariant Return Types
  • Covariant Return Types – An Example
  • Chapter 16 - Useful Java Classes
  • Java Logging API, Control Flow of Logging
  • Logging Levels, Loggers, Example, Handlers
  • Logging Formatters & Log Manager
  • Logging Configuration File
  • Example Logging Configuration File, Logging Filters
  • java.lang.StringBuilder, java.util.StringTokenizer
  • java.util.Arrays & java.util.Collections,
  • java.util.Random, Java Date and Time,
  • Local Date and Time
  • java.util.Date and java.time.Instant
  • Formatting
  • Formatting Example
  • Chapter 17 - Collections and Generics
  • What are Collections?, Arrays vs. Collections
  • Main Collections Interfaces, java.util.Collection
  • Main Collection Methods, Sets, java.util.List
  • java.util.Queue, Iteration on a Collection
  • Iterator vs. For-Each Loop, Maps, java.util.Map
  • Other Maps, Collections Implementations
  • Abstract Implementations
  • Choosing a Collection Type
  • Generics and Collections
  • Generic Collection Example
  • Collections and Primitive Types
  • Generic Diamond Operator, Collection Factory Methods
  • Chapter 18 - Introduction to Lambda Expressions
  • Functional Interface, Anonymous Inner Class (AIC)
  • Downside of AIC, Lambda Expressions and Syntax
  • Method Reference
  • Benefits of Lambda Expressions – An Example
  • Initial Version, Refactor Criteria Into Method
  • Predicate Interface
  • Using a Predicate
  • Implement as Separate Class
  • Implement as AIC
  • Use Lambda Expressions
  • Reuse Lambda Expressions
  • Chapter 19 - Input and Output
  • Overview of Java Input/Output
  • The File Class, File Example
  • The java.nio.file.Path Interface
  • Serialization and Object State
  • Avoiding Serialization Problems
  • serialVersionUID, Options for File Input/Output
  • Streams, Input Stream, Output Stream
  • "Chained" Streams, RandomAccessFile
  • try-with-resources Statement, Using Streams - Write and Red Example
  • Reader and Writer, Using Readers and Writers - Write and Read Example
  • Using Readers and Writers - Scanner Read Example
  • NIO Channels and Buffers
  • Chapter 20 - Other Java Concepts
  • Annotations
  • Enumerated Types and Example
  • Assertions, When to use Assertions
  • Assertions Examples, Enabling Assertions
  • JVM Storage Areas
  • Java Heap Space
  • Heap Size Limits
  • Garbage Collection Basics
  • Allocation Failure (AF)
  • OutOfMemoryError
  • Memory Leak
  • Distributing Java Code with JARs
  • Lab Exercises
  • Lab 1. The HelloWorld Class
  • Lab 2. Refining The HelloWorld Class
  • Lab 3. The Arithmetic Class
  • Lab 4. Project - Prompt and Store StockAccount Information (Optional)
  • Lab 5. Creating A Simple Object
  • Lab 6. Project - Create a StockAccount Class (Optional)
  • Lab 7. Getters and Setters
  • Lab 8. Project - Improve Encapsulation (Optional)
  • Lab 9. Using Constructors
  • Lab 10. Project - Add Constructors (Optional)
  • Lab 11. Project – Create a Stock Class (Optional)
  • Lab 12. Project – Buy Stock (Optional)
  • .
  • Lab 13. Project – Sell Stock (Optional)
  • Lab 14. Looping
  • Lab 15. Project - Loop Until Quit (Optional)
  • Lab 16. Subclasses
  • Lab 17. Project - Dividend Stocks (Optional)
  • Lab 18. Arrays
  • Lab 19. Method Overriding
  • Lab 20. Project - Improved Stock Output (Optional)
  • Lab 21. Exception Handling
  • Lab 22. Project - Better Error Handling (Optional)
  • Lab 23. Interfaces
  • Lab 24. Collections
  • .
  • Lab 25. Project – Multiple Stocks (Optional)
  • Lab 26. Introduction to Lambda Expressions
  • Lab 27. Writing To A File
  • Lab 28. Project - Saving to a File (Optional)