INTRODUCTION TO JAVA USING RATIONAL APPLICATION DEVELOPER 8.0 – GTJ25

Course Description

This course introduces the Java programming language and how to develop Java applications using RAD 8.0. 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 RAD 8.0. This course also covers a basic introduction to Java EE (Java Enterprise) since that is a common reason that people are learning about Java.

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.

TOPICS

  • Java basics
  • Basic introduction to Rational Application Developer
  • 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 RAD.

WHAT YOU WILL LEARN

After completing this course, the student should be able to:

  • Apply OOP principles
  • Design OO applications using abstraction, encapsulation, modularity and hierarchy
  • Create Java classes to define the function of different parts of a complex program
  • Use Java exceptions to guarantee graceful error recovery for your application
  • Use many common Java libraries
  • Do input/output using Java
  • Use RAD for Java application development

^^

Duration

5 days

^^

Target Audience

This course is intended for programmers who are interested in adding Java to their skills

^^

Course Prerequisites

The students should be familiar with object-oriented principles and the concept of object-oriented programming.

^^

Suggested Follow on Courses

There are a number of options of suitable follow-on courses, depending on your business needs. Please contact us for further details.

^^

Course Content

1. OVERVIEW OF JAVA

  1. History Of Java
  2. Benefits Of Java
  3. What Is Java?
  4. What’s This “Virtual Machine”?
  5. Comparison to Other Languages
  6. Java Programs
  7. Basic Java Development Tools
  8. Java Editions
  9. Example – HelloWorld
  10. Java Classes
  11. Main Methods
  12. Statements

2. JAVA TOOLS IN RAD

  1. Intro to RAD
  2. Eclipse Platform
  3. Eclipse Workspace
  4. Perspectives, Views & Editors
  5. Basic Operations with Eclipse Views and Perspectives
  6. The Java Perspective
  7. The Debug Perspective
  8. Navigator View
  9. Package Explorer
  10. Outline View
  11. Problems View
  12. Eclipse Preferences
  13. Build and Validation
  14. Code Completion, Templates and Snippets
  15. Searching
  16. Configure Compiler Class Path
  17. JRE Switching

3. BASIC OBJECT CONCEPTS

  1. What Is An Object?
  2. State
  3. Behavior
  4. Encapsulation
  5. Encapsulation Examples
  6. Classes vs. Objects
  7. Inheritance
  8. Interfaces
  9. Polymorphism
  10. Benefits Of Objects

4. BASIC JAVA SYNTAX

  1. Declaring And Initializing Variables
  2. Keywords
  3. Coding Tips – Variables
  4. Primitive Data Types
  5. Logical – boolean
  6. Textual – char and String
  7. Integral – byte, short, int, long
  8. Floating Point – float and double
  9. Literal Values
  10. Strings
  11. Creating Strings
  12. White Space
  13. Comments
  14. Coding Tips – Comments
  15. Java Statements
  16. Coding Tips – Statements
  17. Scope of a Variable
  18. System.out/System.in
  19. Scanner Class

5. OPERATIONS AND MAKING DECISIONS

  1. Operator Categories
  2. Special Situations
  3. Binary Operators
  4. Integer Division
  5. Numeric Promotion
  6. Type Conversion Of Primitive Types
  7. Unary Operators
  8. Relational Operators
  9. Logical Operators
  10. “Short Circuited” Operators
  11. Bitwise Operators
  12. Bitwise Examples
  13. Shift Operators
  14. Overflow And Underflow
  15. Assignment Operators
  16. Ternary Operator
  17. Calculation Errors
  18. Operator Precedence
  19. Precedence Examples
  20. Combining Strings
  21. Coding Tips – Operators
  22. Control Flow Statements
  23. ‘if’ Statement
  24. ‘if…else’ Statement
  25. Nested Statements
  26. Coding Tips – if & if-else

6. USING CLASSES AND OBJECTS

  1. Objects, Instances, And Classes
  2. What Are Classes?
  3. Working With Classes And Objects
  4. Instantiation
  5. Instance Methods
  6. Object References
  7. String Operations
  8. “Wrapper” Classes
  9. Autoboxing

7. WRITING CLASSES

  1. Why Define Your Own Classes?
  2. Encapsulation
  3. Elements Of A Class
  4. Defining Classes
  5. Coding Tips – Class Definitions
  6. Fields
  7. Defining Fields
  8. Coding Tips – Fields
  9. Methods
  10. Defining Methods
  11. Passing Parameters
  12. Overloading Methods
  13. Coding Tips – Methods
  14. Local Variables vs. Instance Variables
  15. Example – Defining a Class
  16. Example – Fields
  17. Example – Defining a Method
  18. Example – Calling a Method

8. CONTROLLING CODE ACCESS AND CODE ORGANIZATION

  1. Controlling Access
  2. Data Hiding
  3. Encapsulation
  4. JavaBeans
  5. Packages
  6. Naming Packages
  7. Declaring Packages In Classes
  8. Problems Solved With Packages
  9. Package Access
  10. Example – Access Modifiers
  11. Import Statement
  12. Using Classes From Packages
  13. Coding Tips – Import Statements
  14. Correlation To File Structure
  15. Class Path
  16. Java Core Packages
  17. Java API Documentation

9. CONSTRUCTORS AND CLASS MEMBERS

  1. Constructors
  2. Default Constructor
  3. Multiple Constructors
  4. Defining Constructors
  5. Example – Calling Constructors
  6. “Good” Constructors
  7. ‘this’ Keyword
  8. Using ‘this’ to Call a Constructor
  9. Using ‘this’ to Set a Field
  10. Class Members
  11. Examples Of Class Members
  12. Comparison With Instance Members
  13. Use Of Class Variables
  14. Static Class Methods
  15. Use Of Class Methods
  16. The Math Class
  17. Main Method And Command Line Arguments
  18. Declaring Constants
  19. Coding Tips – Class Members
  20. Useful Standard Class Members
  21. Initialization Blocks
  22. Static Initialization Blocks

10. ADVANCED CONTROL STRUCTURES

  1. ‘switch’ Statement
  2. Example – switch
  3. Switch “Fall Through”
  4. Using switch “Fall Through” for Multiple Options
  5. ‘for’ Loop
  6. Example – for
  7. ‘while’ Loop
  8. Example – while
  9. ‘do…while’ Loop
  10. Example – do while
  11. Break Statement
  12. Example – break
  13. Labeled Statements
  14. Example – Labeled break
  15. Continue Statement
  16. Example – continue
  17. Example – Labeled continue
  18. Coding Tips – Control Structures

11. INHERITANCE

  1. Inheritance Is…
  2. Inheritance Examples
  3. Declaring Inheritance
  4. Inheritance Hierarchy
  5. Access Modifiers Revisited
  6. Inherited Members
  7. Instances Of A Subclass
  8. Example Of Inheritance
  9. Role In Reuse
  10. The super Keyword
  11. Example – super Keyword
  12. Problems with Constructors
  13. Limiting Subclasses
  14. Calling Methods in Constructors
  15. The Object Class

12. ARRAYS

  1. Arrays
  2. Declaring Arrays
  3. Populating Arrays
  4. Accessing Arrays
  5. Arrays of Objects
  6. Array Length
  7. Coding Tips – Arrays
  8. Array References
  9. Multidimensional Arrays
  10. Arrays Of Arrays
  11. Copying Arrays
  12. For-Each loop
  13. Variable Arguments
  14. Variable Arguments Example

13. COMMONLY OVERRIDDEN METHODS

  1. Overriding Methods
  2. @Override Annotation
  3. toString()
  4. toString() in Object
  5. Overriding toString()
  6. Comparing Objects
  7. Using == vs. equals(..)
  8. Overriding equals(..)
  9. Complex Comparisons
  10. equals(..) Example
  11. hashCode()
  12. Overriding hashCode()
  13. hashCode() Example
  14. Generating equals and hashCode

14. ADVANCED JAVA TOOLS

  1. Refactoring
  2. Renaming Elements
  3. Moving a Class to a Different Package
  4. Extracting Code to a Method
  5. Other Source Code Refactoring
  6. Refactoring to Improve Type Hierarchy
  7. Generalizing a Variable
  8. Pull-up and Push-down

15. EXCEPTIONS

  1. What is an Exception
  2. Benefits
  3. The Exception Class
  4. How to Work With Exceptions
  5. Example Exception Handling
  6. The try-catch-finally Statement
  7. Flow of Program Control
  8. Exception Hierarchy
  9. Checked Exceptions
  10. Unchecked Exceptions
  11. Coding Tips – Exception Types
  12. Catching Multiple Exceptions
  13. Specifying Thrown Exceptions
  14. Rethrowing Exceptions
  15. Chaining Exceptions
  16. Creating your Own Exception

16. INTERFACES AND POLYMORPHISM

  1. Casting Objects
  2. The instanceof Operator
  3. Abstract Classes
  4. Abstract Class – An Example
  5. Interface
  6. Interface – An Example
  7. Comparable Interface
  8. Comparable Example
  9. Coding Tips – Superclass or Abstract Class/Interface?
  10. Coding Tips – Abstract Class or Interface
  11. Polymorphism
  12. Conditions for Polymorphism
  13. Coding Tips – Leveraging Polymorphism
  14. Covariant Return Types
  15. Covariant Return Types – An Example

17. USEFUL JAVA CLASSES

  1. Java Logging API
  2. Control Flow of Logging
  3. Logging Levels
  4. Loggers
  5. Logging Example
  6. Logging Handlers
  7. Logging Formatters & Log Manager
  8. Logging Configuration File
  9. Example Logging Configuration File
  10. Logging Filters
  11. java.lang.StringBuilder
  12. java.util.StringTokenizer
  13. java.util.Arrays & java.util.Collections
  14. java.util.Random
  15. java.util.Date
  16. GregorianCalendar & Calendar
  17. Formatting
  18. Formatting Example

18. COLLECTIONS AND GENERICS

  1. What are Collections?
  2. Arrays vs. Collections
  3. Main Collections Interfaces
  4. java.util.Collection
  5. Main Collection Methods
  6. Sets
  7. java.util.List
  8. java.util.Queue
  9. Iteration on a Collection
  10. Iterator vs. For-Each Loop
  11. Maps
  12. java.util.Map
  13. Other Maps
  14. Collections Implementations
  15. Abstract Implementations
  16. Choosing a Collection Type
  17. Generics
  18. Generics and Collections
  19. Generic Collection Example
  20. Collections and Primitive Types

19. INPUT AND OUTPUT

  1. Overview of Java Input/Output
  2. The File Class
  3. File Example
  4. Serialization
  5. Serializing Object State
  6. Avoiding Serialization Problems
  7. serialVersionUID
  8. Options for File Input/Output
  9. Streams
  10. Input Stream
  11. Output Stream
  12. “Chained” Streams
  13. RandomAccessFile
  14. Using Streams – Write Example
  15. Using Streams – Read Example
  16. Reader and Writer
  17. Using Readers and Writers – Write Example
  18. Using Readers and Writers – Read Example
  19. Using Readers and Writers – Scanner Read Example
  20. Buffers
  21. Channels
  22. Using Buffers and Channels – Write Example
  23. Using Buffers and Channels – Read Example

20. OTHER JAVA CONCEPTS

  1. Annotations
  2. Enumerated Types
  3. Enumerated Types – Example
  4. Assertions
  5. Assertions Example
  6. When to use Assertions
  7. Enabling Assertions
  8. JVM Storage Areas
  9. Java Heap Space
  10. Heap Size Limits
  11. Garbage Collection Basics
  12. Allocation Failure (AF)
  13. OutOfMemoryError
  14. Memory Leak
  15. Distributing Java Code with JARs

21. OVERVIEW OF JAVA SE APIS

  1. Java GUI Programming
  2. Networking
  3. Security
  4. Databases – JDBC
  5. Concurrent Programming
  6. Naming – JNDI
  7. Management – JMX
  8. XML
  9. Web Services
  10. Remote Method Invocation
  11. Image I/O
  12. Printing

22. OVERVIEW OF JAVA EE

  1. Goals of Enterprise Applications
  2. What is Java?
  3. What is Java EE?
  4. The Java EE Specifications
  5. Versions
  6. Role of Application Server
  7. Java EE Components
  8. What is a Servlet?
  9. Servlet Execution
  10. What is a JSP?
  11. JSP Code Sample
  12. Introduction to JSF
  13. Example JSF Page
  14. What is an EJB?
  15. EJB Types
  16. Java Persistence API
  17. EJB Examples
  18. Web Services
  19. Web Browser
  20. Other Clients
  21. Model-View-Controller Architecture
  22. MVC – An Example
  23. Java EE Vendor Specifications
  24. Containers
  25. Java EE Blueprint
  26. Java EE Application Structure
  27. EAR File
  28. What are Modules?

^^

See more Java courses