Free Ebook cover Learn to program in complete Java, from programming logic to advanced

Free ebookLearn to program in complete Java, from programming logic to advanced

4

StarStarStarStar

(7)

Audiobook volume icon

21 hours and 38 minutes

List icon for ebook

238 pages

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.

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

1

Introduction to the course and programming concepts

2

Configuring the Java development environment

3

Understanding what the JVM is - Java Virtual Machine

4

Basic Java Syntax

5

Basic Java Syntax: Primitive Data Types

6

Basic Java Syntax: Variable Declaration

7

Basic Java Syntax: Arithmetic and Assignment Operators

8

Basic Java Syntax: Flow Control Structures (if, else, switch)

9

Basic Java syntax: Loops (for, while, do-while)

10

Java Basic Syntax: Arrays

11

Basic Java Syntax: Methods (Declaration, Parameters, Return)

12

Basic Java Syntax: Classes and Objects

13

Basic Java Syntax: Encapsulation (Getters and Setters)

14

Java Basic Syntax: Inheritance

15

Java Basic Syntax: Polymorphism

16

Basic Java Syntax: Interfaces

17

Basic Java syntax: Exception Handling (try, catch, finally, throw, throws)

18

Basic Java Syntax: Importing Libraries

19

Basic Java syntax: Analysis of Access Modifiers (public, private, protected)

20

Basic Java Syntax: Keywords (static, final, this, super)

21

Primitive Data Types in Java

22

Primitive data types in Java: byte

23

Primitive Data Types in Java: short

24

Primitive Data Types in Java: int

25

Primitive data types in Java: long

26

Primitive data types in Java: float

27

Primitive data types in Java: double

28

Primitive data types in Java: char

29

Primitive data types in Java: boolean

30

Operators in Java (arithmetic, logical, etc.)

31

Operators in Java (arithmetic, logical, etc.): Arithmetic Operators

32

Operators in Java (arithmetic, logical, etc.): Assignment Operators

33

Operators in Java (arithmetic, logical, etc.): Comparison Operators

34

Operators in Java (arithmetic, logical, etc.): Logical Operators

35

Operators in Java (arithmetic, logical, etc.): Increment and Decrement Operators

36

Operators in Java (arithmetic, logical, etc.): Conditional Operator (ternary)

37

Operators in Java (arithmetic, logical, etc.): Operator Precedence

38

Operators in Java (arithmetic, logical, etc.): Type Conversion (casting)

39

Flow control (if, else, switch, loops)

40

Flow control (if, else, switch, loops): If conditional structure

41

Flow control (if, else, switch, loops): else conditional structure

42

Flow control (if, else, switch, loops): else if conditional structure

43

Flow control (if, else, switch, loops): Comparison operators

44

Flow control (if, else, switch, loops): Logical operators

45

Flow control (if, else, switch, loops): Switch conditional structure

46

Flow control (if, else, switch, loops): Break into switch

47

Flow control (if, else, switch, loops): Loops (repeat loops)

48

Flow control (if, else, switch, loops): For loop

49

Flow control (if, else, switch, loops): While loop

50

Flow control (if, else, switch, loops): Do-while loop

51

Flow control (if, else, switch, loops): break statement in loops

52

Flow control (if, else, switch, loops): Continue statement in loops

53

Flow control (if, else, switch, loops): Nested loops

54

Flow control (if, else, switch, loops): Declaration of multiple cases in switch

55

Arrays and the Arrays class

56

Collections in Java (List, Set, Map and their implementations)

57

Working with strings and the StringBuilder class

58

Structure of classes and objects in Java

59

Structure of classes and objects in Java: Class Definition

60

Class and object structure in Java: Object Creation

61

Structure of classes and objects in Java: Attributes and Methods

62

Structure of classes and objects in Java: Constructors

63

Structure of classes and objects in Java: Encapsulation

64

Structure of classes and objects in Java: Inheritance

65

Structure of classes and objects in Java: Polymorphism

66

Structure of classes and objects in Java: Interfaces

67

Structure of classes and objects in Java: Abstract Classes

68

Structure of classes and objects in Java: Static Members

69

Structure of classes and objects in Java: Memory Management

70

Structure of classes and objects in Java: Method Overloading and Overriding

71

Structure of classes and objects in Java: Keywords like this and super

72

Structure of classes and objects in Java: Collections

73

Structure of classes and objects in Java: Exception Handling

74

Encapsulation and accessor methods (getters and setters)

75

Encapsulation and accessor methods (getters and setters): Encapsulation concept

76

Encapsulation and accessor methods (getters and setters): Benefits of encapsulation

77

Encapsulation and accessor methods (getters and setters): Access modifiers: private, protected, public

78

Encapsulation and accessor methods (getters and setters): Definition of accessor methods (getters)

79

Encapsulation and accessor methods (getters and setters): Definition of modifying methods (setters)

80

Encapsulation and accessor methods (getters and setters): Naming conventions for getters and setters

81

Encapsulation and accessor methods (getters and setters): Using getters and setters for access control

82

Encapsulation and accessor methods (getters and setters): Encapsulation in different programming languages

83

Encapsulation and accessor methods (getters and setters): Object-oriented programming principles related to encapsulation

84

Inheritance and Polymorphism in Java

85

Inheritance and Polymorphism in Java: Concept of Inheritance

86

Inheritance and Polymorphism in Java: 'extends' Keyword

87

Inheritance and Polymorphism in Java: Method Overriding

88

Inheritance and Polymorphism in Java: Using 'super' to access superclass members

89

Inheritance and Polymorphism in Java: Class Hierarchy

90

Inheritance and Polymorphism in Java: Constructors and Inheritance

91

Inheritance and Polymorphism in Java: Abstract Classes

92

Inheritance and Polymorphism in Java: Concept of Polymorphism

93

Inheritance and Polymorphism in Java: Runtime Polymorphism

94

Inheritance and Polymorphism in Java: Object Casting

95

Inheritance and Polymorphism in Java: 'instanceof' Method

96

Inheritance and Polymorphism in Java: Interfaces

97

Inheritance and Polymorphism in Java: Internal Classes and Inheritance

98

Inheritance and Polymorphism in Java: Liskov Substitution Principle

99

Abstract classes and methods

100

Interfaces 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...

Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

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.

Download the App now to have access to + 5000 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 60 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate

Other free courses