8296  Reviews star_rate star_rate star_rate star_rate star_half

Introduction to Java Application Development

This Java Application Development Fundamentals training course introduces Java programming and object-oriented (OO) development principles. Attendees learn newer Java features, including the Java 9+...

Read More
Duration 5 days
Course Code JAV-422
Available Formats Classroom

Overview

This Java Application Development Fundamentals training course introduces Java programming and object-oriented (OO) development principles. Attendees learn newer Java features, including the Java 9+ module structure, common APIs like Java Collections Framework and JDBC/JPA, and the Java release cycle and Long Term Support (LTS) releases. This Java course is current to Java 11-17.

Skills Gained

  • Understand Java’s importance, uses, strengths and weaknesses
  • Understand the release cycle and Long Term Support (LTS) releases
  • Understand Java language basics
  • Write, compile, and run Java programs
  • Use the Java shell (JShell - Java 9+) for interactive programming
  • Understand the Object Model and Object Oriented Programming
  • Understand and use classes, inheritance, polymorphism
  • Create well-designed classes and use them in your Java programs
  • Use composition and delegation to create objects from other objects
  • Understand and use packages to organize code
  • Understand and use Java 9 modules
  • Understand interfaces, their importance, and their uses
  • Use interfaces to implement abstraction
  • Learn good Java coding style
  • Create well-structured Java programs
  • Compile and execute programs with the JDK development tools and with an Integrated Development Environment (IDE) of your choice
  • Use the core Java libraries (java.lang, java.util)
  • Understand and use exceptions for error handling
  • Understand the basics of using JDBC and JPA, and use them to access databases from Java
  • Use the Java Collections Framework, including the new API introduced in Java 9-11
  • Use other new features, such as type inference
  • Use the new features of Java 11-17, as well as important advanced features of earlier Java versions
  • Understand and use basic I/O streams (Optional)

Prerequisites

All attendees must have working knowledge of a modern programming language; no Java experience is needed.

Course Details

Training Materials

All Java training students receive comprehensive courseware.

Software Requirements

  • A recent version of Windows, macOS, or Linux with at least 8 GB RAM
  • JDK 11 or later
  • The Java tool the students are likely to use after the class (Eclipse or IntelliJ IDEA are recommended)
  • Other free software - please contact us if you have purchased this class

Outline

  • Java Overview
    • Language and Platform Features
    • A Simple Java Program
    • The Java Release Cycle
    • Program Lifecycle
    • The Java SE Development Kit (JDK)
    • Hello World: A Simple Application
  • Class and Object Basics
    • The Object Model and Object-Oriented Programming
    • Classes, References, and Instantiation
    • Adding Data to a Class Definition
    • Adding Methods (Behavior)
    • Exploring Types and Object Instances
    • Introducing your IDE
    • Writing and Using a Class Definition with Fields and Methods
  • More on Classes and Objects
    • More about Methods
    • Encapsulation and Access Control, public and private Access
    • Constructors and Initialization
    • static Members of a Class
    • Accessor Methods
    • Encapsulation / Access Protection
    • Writing and Using Constructors
    • Static Members (Optional)
  • Flow of Control
    • Branching: if, if-else, switch
    • Iteration: while, do-while, for, break, continue
    • Data Validation
  • More about Classes and Objects
    • Type-safe Enums
    • Wrapper Classes
    • Java 8+ Date/Time Support
    • Working with References
    • Formatted Output
    • Using Enums
    • Working with Dates and Times
    • Using the Debugger
  • Strings, Arrays, and Dates/Times
    • String, StringBuffer, StringBuilder
    • Arrays, Primitive Arrays, Arrays of Reference Types
    • Varargs
    • Using Strings and Arrays
  • Packages and Modules
    • Package Overview Using Packages to Organize Code
    • Creating Packages, Package Statements, and Required Directory Structure
    • Import Statements
    • Classpath
    • Java Modules Overview
    • Defining Modules, Requires, and Exports
    • Module Path and Classpath Differences and Coexistence
    • Using Packages
    • Using Java Modules
  • Composition and Inheritance
    • Using Composition to Deal With Complexity
    • Composition/HAS-A, Delegation
    • Using Inheritance to share a Commonality
    • IS-A, extends Inheriting Features
    • Constructor Issues
    • Overriding Methods, @Override, Using Polymorphism
    • Abstract Classes
    • Working with Composition (Optional) 
    • Using Inheritance
    • Polymorphism
  • Interfaces
    • Defining and Implementing Interfaces
    • Using Interfaces
    • Default Methods and Static Methods
    • Using Interfaces to Remove Implementation Dependencies
    • Using Default and Static Methods
  • Exceptions
    • Exceptions and the Exception Hierarchy
    • Throwing Exceptions and Checked Exceptions
    • Try and Catch
    • Handling Exceptions
    • Try and catch
    • Program Flow with Exceptions
    • Multicatch, Finally, Try-with-resources
    • Throwing Exceptions
    • Checked Exceptions
  • Java Collections and Generics
    • The Collections Framework and its API
    • Collections and Java Generics
    • Collection, List, Set, Map
    • Autoboxing
    • Collections of Object (non-generic)
    • Using ArrayList, HashSet, and HashMap
    • For-each Loop
    • Processing Items With an Iterator
    • More About Generics
    • Using Collections and Generics
  • Database Access with JDBC and JPA
    • JDBC Overview
    • JDBC Defined Types
    • Example of JBDC Usage
    • JPA Architecture and Programming View
    • Mapping Entity Classes with Annotations
    • Persistence Unit, EntityManagerFactory, and EntityManager
    • Working with JPA (Find by primary key and inserts)
    • Mapping an Entity Class
    • Using JPA
    • Insert/Query Demo
  • I/O Streams (Optional)
    • I/O Streams Overview
    • Readers and Writers
    • Exception Handling
    • Byte Streams
    • Working with Files
    • NIO, Paths, Files
    • Reading and Writing Files
    • Using Byte Streams (Optional)
  • Additional Language Features (Optional)
    • Functional Interfaces and Lambda Expressions
    • Switch Expressions
    • Other Java Features
    • Working with Lambdas
  • Conclusion

Schedule

FAQ

Does the course schedule include a Lunchbreak?

Classes typically include a 1-hour lunch break around midday. However, the exact break times and duration can vary depending on the specific class. Your instructor will provide detailed information at the start of the course.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does Ascendient Learning deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

What does vendor-authorized training mean?

As a vendor-authorized training partner, we offer a curriculum that our partners have vetted. We use the same course materials and facilitate the same labs as our vendor-delivered training. These courses are considered the gold standard and, as such, are priced accordingly.

Is the training too basic, or will you go deep into technology?

It depends on your requirements, your role in your company, and your depth of knowledge. The good news about many of our learning paths, you can start from the fundamentals to highly specialized training.

How up-to-date are your courses and support materials?

We continuously work with our vendors to evaluate and refresh course material to reflect the latest training courses and best practices.

Are your instructors seasoned trainers who have deep knowledge of the training topic?

Ascendient Learning instructors have an average of 27 years of practical IT experience and have also served as consultants for an average of 15 years. To stay current, instructors spend at least 25 percent of their time learning new, emerging technologies and courses.

Do you provide hands-on training and exercises in an actual lab environment?

Lab access is dependent on the vendor and the type of training you sign up for. However, many of our top vendors will provide lab access to students to test and practice. The course description will specify lab access.

Will you customize the training for our company’s specific needs and goals?

We will work with you to identify training needs and areas of growth.  We offer a variety of training methods, such as private group training, on-site of your choice, and virtually. We provide courses and certifications that are aligned with your business goals.

How do I get started with certification?

Getting started on a certification pathway depends on your goals and the vendor you choose to get certified in. Many vendors offer entry-level IT certification to advanced IT certification that can boost your career. To get access to certification vouchers and discounts, please contact info@ascendientlearning.com.

Will I get access to content after I complete a course?

You will get access to the PDF of course books and guides, but access to the recording and slides will depend on the vendor and type of training you receive.

How do I request a W9 for Ascendient Learning?

View our filing status and how to request a W9.

Reviews

I thought the course was informative and the tools to go over the material were very nice.

Good training material and good instruction. More time needs to be provided for the lab work.

the course is good, covers many aspects, wish the lab is a little bit more in depth

This was a good program to get prepared for the solutions architect associate exam.

The training was good but needed the basic skills of maximo before getting deep in the configuration of it.