Learn to program in Java from basics to advanced. Free course with 238 pages of content and free certification. Ideal for IT and Programming Languages enthusiasts.
Course content
Introduction to the course and programming concepts
2Configuring the Java development environment
3Understanding what the JVM is - Java Virtual Machine
4Basic Java Syntax
5Basic Java Syntax: Primitive Data Types
6Basic Java Syntax: Variable Declaration
7Basic Java Syntax: Arithmetic and Assignment Operators
8Basic Java Syntax: Flow Control Structures (if, else, switch)
9Basic Java syntax: Loops (for, while, do-while)
10Java Basic Syntax: Arrays
11Basic Java Syntax: Methods (Declaration, Parameters, Return)
12Basic Java Syntax: Classes and Objects
13Basic Java Syntax: Encapsulation (Getters and Setters)
14Java Basic Syntax: Inheritance
15Java Basic Syntax: Polymorphism
16Basic Java Syntax: Interfaces
17Basic Java syntax: Exception Handling (try, catch, finally, throw, throws)
18Basic Java Syntax: Importing Libraries
19Basic Java syntax: Analysis of Access Modifiers (public, private, protected)
20Basic Java Syntax: Keywords (static, final, this, super)
21Primitive Data Types in Java
22Primitive data types in Java: byte
23Primitive Data Types in Java: short
24Primitive Data Types in Java: int
25Primitive data types in Java: long
26Primitive data types in Java: float
27Primitive data types in Java: double
28Primitive data types in Java: char
29Primitive data types in Java: boolean
30Operators in Java (arithmetic, logical, etc.)
31Operators in Java (arithmetic, logical, etc.): Arithmetic Operators
32Operators in Java (arithmetic, logical, etc.): Assignment Operators
33Operators in Java (arithmetic, logical, etc.): Comparison Operators
34Operators in Java (arithmetic, logical, etc.): Logical Operators
35Operators in Java (arithmetic, logical, etc.): Increment and Decrement Operators
36Operators in Java (arithmetic, logical, etc.): Conditional Operator (ternary)
37Operators in Java (arithmetic, logical, etc.): Operator Precedence
38Operators in Java (arithmetic, logical, etc.): Type Conversion (casting)
39Flow control (if, else, switch, loops)
40Flow control (if, else, switch, loops): If conditional structure
41Flow control (if, else, switch, loops): else conditional structure
42Flow control (if, else, switch, loops): else if conditional structure
43Flow control (if, else, switch, loops): Comparison operators
44Flow control (if, else, switch, loops): Logical operators
45Flow control (if, else, switch, loops): Switch conditional structure
46Flow control (if, else, switch, loops): Break into switch
47Flow control (if, else, switch, loops): Loops (repeat loops)
48Flow control (if, else, switch, loops): For loop
49Flow control (if, else, switch, loops): While loop
50Flow control (if, else, switch, loops): Do-while loop
51Flow control (if, else, switch, loops): break statement in loops
52Flow control (if, else, switch, loops): Continue statement in loops
53Flow control (if, else, switch, loops): Nested loops
54Flow control (if, else, switch, loops): Declaration of multiple cases in switch
55Arrays and the Arrays class
56Collections in Java (List, Set, Map and their implementations)
57Working with strings and the StringBuilder class
58Structure of classes and objects in Java
59Structure of classes and objects in Java: Class Definition
60Class and object structure in Java: Object Creation
61Structure of classes and objects in Java: Attributes and Methods
62Structure of classes and objects in Java: Constructors
63Structure of classes and objects in Java: Encapsulation
64Structure of classes and objects in Java: Inheritance
65Structure of classes and objects in Java: Polymorphism
66Structure of classes and objects in Java: Interfaces
67Structure of classes and objects in Java: Abstract Classes
68Structure of classes and objects in Java: Static Members
69Structure of classes and objects in Java: Memory Management
70Structure of classes and objects in Java: Method Overloading and Overriding
71Structure of classes and objects in Java: Keywords like this and super
72Structure of classes and objects in Java: Collections
73Structure of classes and objects in Java: Exception Handling
74Encapsulation and accessor methods (getters and setters)
75Encapsulation and accessor methods (getters and setters): Encapsulation concept
76Encapsulation and accessor methods (getters and setters): Benefits of encapsulation
77Encapsulation and accessor methods (getters and setters): Access modifiers: private, protected, public
78Encapsulation and accessor methods (getters and setters): Definition of accessor methods (getters)
79Encapsulation and accessor methods (getters and setters): Definition of modifying methods (setters)
80Encapsulation and accessor methods (getters and setters): Naming conventions for getters and setters
81Encapsulation and accessor methods (getters and setters): Using getters and setters for access control
82Encapsulation and accessor methods (getters and setters): Encapsulation in different programming languages
83Encapsulation and accessor methods (getters and setters): Object-oriented programming principles related to encapsulation
84Inheritance and Polymorphism in Java
85Inheritance and Polymorphism in Java: Concept of Inheritance
86Inheritance and Polymorphism in Java: 'extends' Keyword
87Inheritance and Polymorphism in Java: Method Overriding
88Inheritance and Polymorphism in Java: Using 'super' to access superclass members
89Inheritance and Polymorphism in Java: Class Hierarchy
90Inheritance and Polymorphism in Java: Constructors and Inheritance
91Inheritance and Polymorphism in Java: Abstract Classes
92Inheritance and Polymorphism in Java: Concept of Polymorphism
93Inheritance and Polymorphism in Java: Runtime Polymorphism
94Inheritance and Polymorphism in Java: Object Casting
95Inheritance and Polymorphism in Java: 'instanceof' Method
96Inheritance and Polymorphism in Java: Interfaces
97Inheritance and Polymorphism in Java: Internal Classes and Inheritance
98Inheritance and Polymorphism in Java: Liskov Substitution Principle
99Abstract classes and methods
100Interfaces and internal classes
Course Description
Welcome to the comprehensive course "Learn to Program in Complete Java," designed to take you from fundamental programming concepts all the way to advanced Java topics. This course spans an extensive 238 pages filled with valuable content, and it falls under the Information Technology category, specifically within the Multipurpose Programming Languages (Python, Ruby, Java, C) subcategory.
The course kicks off with an introduction to general programming concepts. You'll begin by setting up your Java development environment and gain a deep understanding of the Java Virtual Machine (JVM). From there, the course delves into the foundational syntax of Java, covering primitive data types, variable declaration, operators, and control structures (like if, switch, and loops).
As you progress, you'll explore methods, classes, and objects, along with encapsulation techniques using getters and setters. The course then enhances your understanding of object-oriented programming by discussing inheritance, polymorphism, interfaces, and exception handling.
Through the extensive sections dedicated to primitive data types and operators, you'll get familiar with various numeric types like byte, short, int, long, float, double, char, and boolean. Each type's specific characteristics and use cases will be thoroughly explained.
The course emphasizes flow control through various conditional and looping structures. You'll gain proficiency in using if-else statements, switch cases, and loop constructs such as for, while, and do-while loops. Nested loops and the efficient use of break and continue statements are also covered.
Arrays and the Java Arrays class are explored in depth, providing you with the knowledge to manipulate collections of data efficiently. You'll also learn about more advanced collections, including List, Set, and Map, along with their specific implementations.
You'll dive into string manipulation and the StringBuilder class, followed by a thorough examination of class structures in Java, including attributes, methods, constructors, inheritance, and polymorphism. The module on encapsulation and accessor methods will reinforce best practices in OOP.
Advanced topics like exception handling, abstract classes, interfaces, enums, and annotations are explored to make sure you can handle more complex Java programming challenges. You'll also learn about working with files, object serialization, lambda expressions, and the Stream API.
The course includes extensive modules on concurrency and threads, synchronization, and locks, ensuring you can build performant, multi-threaded applications. SOLID design principles, unit testing with JUnit and Mockito, and documentation practices with Javadoc are also covered.
Integration with continuous integration tools like Maven and Gradle, functional programming, REST API development with Spring Boot, security with Spring Security, and data persistence with JPA and Hibernate are some of the advanced topics that you will master in this course.
Additional sessions will cover optimizations strategies, caching with EhCache, messaging and JMS, working with dates, internationalization, reflection, and the use of JavaFX for graphical interfaces. You'll also learn about mobile application development with Android, game development with libGDX, and explore the Java module system.
The course also features practical sessions on NoSQL databases, reactive programming, JVM optimizations, garbage collection, cloud computing with Java, and various legal and ethical aspects in programming. The culminating project involves building a complete Java system from scratch, incorporating everything you've learned.
This course is designed to be your definitive guide to mastering Java programming, whether you are a beginner just starting out or an experienced developer seeking to deepen your skills.
This free course includes:
21 hours and 38 minutes of audio content
Digital certificate of course completion (Free)
Exercises to train your knowledge
100% free, from content to certificate
Ready to get started?
In the app you will also find...
Over 5,000 free courses
Programming, English, Digital Marketing and much more! Learn whatever you want, for free.
Study plan with AI
Our app's Artificial Intelligence can create a study schedule for the course you choose.
From zero to professional success
Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.
You can also use the QR Code or the links below.





























