Author: Mr. Aleks Rudenko
Pub Date: 2016
Publisher: CreateSpace Independent
ISBN: 978-1522760214
Pages: 186
Language: English
Format: PDF
Size: 7 Mb
This book focuses on Java fundamentals which are essential for building real-life applications. The goal is to create an overall understanding of how Java works. Topics covered: syntax, data types, operators, classes, interfaces, notations, threads, exceptions, collections, generics, lambda expressions, IO streams, NIO, Stream API, JavaFX, etc.
Table of Contents
Trademarks
Introduction
Installing the Software
Working with Examples
Object-Oriented Programming
Object-Oriented Design
Encapsulation
Inheritance
Polymorphism
Data Types, Variables, and Literals
Primitive Data Types
Variables
Accessing the Variables
Literals
Numeric Literals
Character Literals
Boolean Literals
String Literals
Casting in arithmetic expressions
Operators
The Assignment Operator
Arithmetic Operators
Bitwise Operators
Relational Operators
Boolean Logical Operators
Conditional Operator
Program Flow Control
The Sequential Statement
The Statement Block
The “if” Statement
The “switch” Statement
Iteration statements
The “while” Statement
The “do…while” Statement
The “for” Statement
Internal Loop Control Variables
The “for-each” Statement
The “break” Statement
The “continue” Statement
Arrays
Declaring Arrays
Creating Arrays
Multi-Dimensional Arrays
Methods
The “main” Method
Classes and Objects
Declaring Classes
Class Variables and Methods
Initializing Class Variables
Instance Variables and Methods
Working with Objects
Creating Objects
Constructors
Method Overloading
The “this” Keyword
The “super” Keyword
Object Casting
Method Overriding
Determining the Type of an Object
Summary
Type Wrappers
Autoboxing
Strings
String Literals, Creating Strings
Comparing Strings
String Concatenation Operator
String Methods
Determining String Length
Comparing Strings
Accessing String Characters
Searching for a Character
Searching for a Substring
Extracting a Substring
Creating a new String from existing String
Creating a Character Array from a String
Creating an Array of Bytes from a String
Creating a String from an Array of Characters
Packages
Modifiers
Class Modifiers
Access Level Modifiers
The “static” Modifier
The “final” Modifier
Generics
Generic Methods
Generic Classes
Passing Generic Classes as Parameters
Generic Interfaces
Generic Constructors
Lambda Expressions
Method Reference
Constructor reference
Inner Classes
Static Inner (Nested) Classes
Non-Static Inner Classes
Local Inner Classes
Abstract Classes
Anonymous Classes
Interfaces
Interfaces vs. Abstract Classes
Default and Static Methods in Interfaces
Exceptions
Handling Exceptions
Handling Unchecked Exceptions
Handling Checked Exceptions
Exceptions Class Hierarchy
Creating Custom Exceptions
Threads
Starting Threads
Daemon Threads
Interrupting Thread Execution
Waiting on a Thread to Die
Synchronization
Synchronized Methods
Synchronized Statement Blocks
Advanced Inter-Thread Communication
Collections Framework
Creating Collections
Retrieving Collections’ Elements
Updating Collections
Iterating through Collections
The “for-each” Loop
Iterator
List Iterator
Spliterator
Comparator
I/O Streams
Byte Output Streams
Character Output Streams
Byte Input Streams
Character Input Streams
Try-With-Resources
Serialization
New Input/Output System – NIO
The Stream API
Observable and Observers
Enumerations
Regular Expressions
Regular Expressions Basics
Regular Expressions Examples
Reflection API
Obtaining the Class object
Discovering Class Members
Annotations
JavaFX API
Layouts
Event Handling
Reference Material
Index