TƏLİMLƏR

Proqramlaşdırma

Java Core

64 saat / 4 ay 150 m

1. Introduction to Java Programming
- The History and Evolution of Java
- What is Java Virtual Machine
- Portability
- What is Bytecode

2. Data Types, Variables, and Arrays
- Java Is a Strongly Typed Language
- The Primitive Types
- A Closer Look at Literals
- Variables
- Type Conversion and Casting
- Automatic Type Promotion in Expressions
- Arrays

3. Operators 
- Arithmetic Operators
- The Bitwise Operators
- Relational Operators
- Boolean Logical Operators
- The Assignment Operator
- The ? Operator
- Operator Precedence
- Using Parentheses

4. Control Statements
- If
- Switch
- While
- Do-While
- For
- For-Each
- Nested Loops
- Using break
- Using continue

5. Introducing Classes
- Class Fundamentals
- Declaring Objects
- Assigning Object Reference Variables
- Adding a Method to the Box Class
- Returning a Value
- Adding a Method That Takes Parameters
- Constructors
- The this Keyword
- Garbage Collection
- finalize( )

6. A Closer Look at Methods and Classes
- Overloading
- Using Objects as Parameters
- A Closer Look at Argument Passing
- Returning Objects
- Recursion
- Introducing Access Control
- Understanding static
- Introducing final
- Arrays Revisited
- Introducing Nested and Inner Classes
- Exploring the String Class
- Command-Line Arguments
- Varargs: Variable-Length Arguments

7. Object Oriented Programming
- Inheritance:
       - Inheritance Basics
       - Using super
       - Creating a Multilevel Hierarchy
       - Method Overriding
       - Dynamic Method Dispatch
       - Using Abstract Classes
       - Using final with Inheritance
       - The Object Class
- Encapsulation
- Polymorphism
- Abstraction
- Packages and Interfaces:
       - Packages
       - Access Protection
       - Importing Packages
       - Interfaces
       - Default Interface Methods
       - Use static Methods in an Interface

8. Exception Handling
- Exception-Handling Fundamentals
- Exception Types
- Uncaught Exceptions
- Using try and catch
- Multiple catch Clauses
- Nested try Statements
- Throw, throws, finally
- Creating Your Own Exception Subclasses

9. Java Collections Framework
- Collections Overview
- The Collection Interfaces
- The ArrayList Class
- The LinkedList Class
- The HashSet Class
- The LinkedHashSet Class
- The TreeSet Class
- Accessing a Collection via an Iterator
- Spliterators
- Working with Maps
- Comparators
- Arrays

10. Enumerations, Autoboxing, and Annotations (Metadata)
- Enumerations
- Type Wrappers
- Autoboxing
- Annotations

11. I/O Streams
- Streams
- Byte Streams and Character Streams
- The Predefined Streams
- Reading Console Input
- Writing Console Output
- The PrintWriter Class
- Reading and Writing Files
- Automatically Closing a File
- Stream Benefits

12. Generics
- What Are Generics?
- A Simple Generics Example
- A Generic Class with Two Type Parameters
- The General Form of a Generic Class
- Bounded Types
- Using Wildcard Arguments
- Creating a Generic Method
- Generic Interfaces
- Type Inference with Generics
- Raw Types and Legacy Code
- Generic Class Hierarchies
- Erasure
- Ambiguity Errors
- Some Generic Restrictions

13. Lambda Expressions
- Introducing Lambda Expressions
- Block Lambda Expressions
- Generic Functional Interfaces
- Passing Lambda Expressions as Arguments
- Lambda Expressions and Exceptions
- Lambda Expressions and Variable Capture
- Method References
- Constructor References
- Predefined Functional Interfaces

14. Multithreaded Programming
- The Java Thread Model
- The Main Thread
- Creating a Thread
- Creating Multiple Threads
- Using isAlive( ) and join( )
- Thread Priorities
- Synchronization
- Interthread Communication
- Suspending, Resuming, and Stopping Threads
- Java ExecutorService

15. Stream API
- Stream Basics
- Reduction Operations
- Using Parallel Streams
- Mapping
- Collecting
- Iterators and Streams
- More to Explore in the Stream API

16. Working with Relational Databases
- Leveraging the JDBC API
- Choosing database drivers
- Connecting to a database
- Submitting SQL statements
- Retrieving and processing results