Java SE8 Fundamentals – JA-FUND
Java SE 8 Fundamentals
Course Code: JA-FUND
This five-day course in Java SE 8 Fundamentals introduces and teaches you the concepts of object-orientation and the tenets of programming using the Java language. You will be taught, inter-alia core real-world programming principles and through many practical examples build coding skills to thrust you into a career in software development. With your newly attained knowledge you will have a solid foundation from which you may undertake continued skills and training in software development.
- Duration: 5 Day
- Level: Professional
- Technology: Oracle
- Delivery Method: Classroom Instructor-led/Virtual Instructor-led
- Training Credits: NA
The audience for this course are developers, application developers, mobile developers, IOT developers, system administrators, Web application developers and technical consultants.
To attend this course, delegates should have:
– Basic computer and programming concepts.
– A working knowledge with the operating system you work on.
– A working knowledge of how to work from the command line.
– The ability to solve logic problems.
– Enthusiasm to learn and experiment.
After completing this course, delegates will be able to:
– Thoroughly understand object-oriented concepts such as inheritance, encapsulation, and abstraction
– Use Java programming language constructs to create a Java technology application
– Use decision and looping constructs to dictate program flow
– Use and manipulate object references
– Programme polymorphically
– Develop scalable Java technology applications
– Write simple error handling code
– Use the new SE 8 java.time and java.time.format packages to format and print the local date and time
– Understand the basics of functional programming
– Specify a data modification by passing a predicate Lambda expression to the collections class
– Be familiar with the material required to take the OCA 1Z0-808 exam
This course will prepare delegates to write the Oracle Certified Associate Java SE 8 Programmer I (1Z0-808) exam.Â
At the end of the course a small project will be given to each delegate that they may attempt once leaving the course to hone their newly acquired skill.Â
Modules
This module details all the topics covered throughout the duration of the course:
– Course objectives
– Course schedule
– Course environment
This module describes the Java landscape and discusses;
– Why use Java?
– Java and the InternetÂ
– Security
– Portability of your code
– Java’s bytecode
– Java on the server side
In this module you are introduced to the world of object-orientation. In this module you will:
– Learn about the principles of Object orientation.Â
– Model your objects by learning basic UML
Tasks:
– Answer quiz.
– Design a digital clock.
– Design an amplifier.
In this module you will get yourself ready for programming and will;
– Set up your Java environment
– Get to know about Java classes
– Understand the main() method
– Write your first Java program
– Compile your program
– Becoming familiar with the structure of a Java program.
– Learn Java’s keywords
Tasks:
– Answer quiz.
– Install Netbeans
– Get to know your environment
– Write a basic application
This module discusses variables, why they are needed and some of the non-object-oriented aspects of Java. You will learn to;
– Describe primitive types
– Declare and use primitive variables
– Declare Strings
– Manipulate and use Strings
– Work with numbers.
– Understand variable scope.
– Effectively comment your Java programs.
Tasks:
– Answer quiz.
This module introduces the concept of arrays and the storing and manipulating data. You will learn about;Â
– What are arrays?
– Initializing arrays.
– Using a single dimension array.
– Using multidimensional arrays.
– Work with command line arguments
Tasks:
– Answer quiz.
There are times you need to check certain conditions within your program. To do this you use operators. So, in this module you will learn to use the;
– Assignment
– Relational
– Incremental, decremental
– Logical
– Boolean
– Bitwise
– operators as well as how order matters when using them.
Tasks:
– Answer quiz.
Often you need to make decisions on your program’s flow. In this lesson you learn to use;
– The if statement and its companion else.
– Nesting if’s
– Using a switch
– Using the ternary operator, which is a fancy if statement.
Tasks:
– Answer quiz.
– Programming tasks based on decision statements.
Often you need to do a similar task many times. In this lesson you get to understand looping, often called iteration. You will learn about;
– pre-test and post-test loops.
– Counter and sentinel controlled loops.
– Using the ‘while’ Loop
– Using the ‘for’ Loop
– Using the ‘do while’ Loop
– Using the ‘for each’ Loop
– Jumping to the start and out of your loops
Tasks:
– Answer quiz.
– Programming tasks based on iteration constructs and arrays
This is a big module where we discuss one of the most important components to understand in Java, the class, how to define them and then construct objects out of them. In this lesson you will learn to;
– Define classes
– Define class behaviour.
– Working with method behaviour
– Passing arguments to a method.
– Varargs
– Access control and encapsulation
– Getting answers from a method.
– Creating objects using your class blueprint.
– Referencing your objects
Tasks:
– Answer quiz.
– Programming tasks based on class design and instantiation
There is a class in Java you will use a lot. This is the String class. In this module you will learn to;
– Constructing Strings
– Manipulating Strings.
– Extracting character and other String from an existing String
– Comparing Strings.
– Understanding and using a StringBuffer and StringBuilder
Tasks:
– Answer quiz.
– Programming tasks based on String manipulation.
Another cornerstone of object-oriented programming in Java is inheritance and the concept of abstraction. In this module you will learn how to;
– Define inheritance in the context of a Java class hierarchy
– Create a subclass
– Understand polymorphism and the principles of overloading and overriding.
– Call methods in the super class.
– Use the instanceof operator to test an object’s type
– Cast a superclass reference to the subclass type
– Explain the difference between abstract and nonabstract classes
– Create a class hierarchy by extending an abstract class.
– Preventing a class from being subclassed.
Tasks:
– Answer quiz.
– Programming tasks based on inheritance and polymorphism
In this module we discuss another pillar of object-orientation and that is the concept of modularity, which Java achieves by means of packages. You will learn to:
– Defining a package
– Finding packages and CLASSPATH.
– Understand access protection
– Importing packages into your program
Tasks:
– Answer quiz.
Continuing the concept of Inheritance, we look at the interfaces. This is an important concept in Java. In this module you will learn all about;
– Defining an interface
– Implementing interfaces
– Nesting interfaces
– Applying interfaces
– Defining variables in interfaces
– Extending interfaces
– default interface methods
– Multiple inheritance issues
– static methods.
Tasks:
– Answer quiz.
– Programming tasks based on inheritance, polymorphism and interfaces
In this module you will look at and learn about a special data structure provided in Java’s Collections Framework called an ArrayList: You will;Â
– Learn all about the ArrayList class
– Manipulate ArrayLists that contain objects.
Tasks:
– Answer quiz.
– Programming tasks based on ArrayLists
In this module you will learn about special interfaces and how to use them when programming using the functional programming paradigm known as Lambdas. You will get to know about;
– Lambda expression fundamentals
– Functional interfaces
– Lambda expressions as arguments
– Lambda expressions and exceptions
– Predefined functional Interfaces
– Specify a data modification by passing a predicate lambda expression to the Collections class
Tasks:
– Answer quiz.
– Programming tasks based on simple Lambda expressions
In this module we discuss how to handle any abnormal events that may occur during your program’s execution. You will learn about;
– Exception types
– Using try, catch and finally
– Displaying a description of an Exception
– Multiple catch clauses
– Nested try statements
– throw and throws keywords
– Java’s built-in Exceptions
– Creating your own exceptions
– Chained exceptions
Tasks:
– Answer quiz.
– Programming tasks based on Exception Handling
In this module we look at a component added in Java 8, which is the new way of handling dates
and times in Java. You will understand;
– Time and date fundamentals
– Formatting date and time
– Parsing date and time strings
– How to create a java.time.LocalDateTime object to show the current date and time.
Tasks:
– Programming tasks based on Date and Time API