The Complete Java Course From Basics to Advanced

Learn every thing about Java from Basics to Advanced topics with Hands-On Projects and Quizzes
The Complete Java Course From Basics to Advanced
File Size :
3.01 GB
Total length :
10h 41m



Ahmed Elsakka


Last update




The Complete Java Course From Basics to Advanced

What you’ll learn

Learn core Java programming skills needed to become a Java Developer
Learn some advanced topics in Java like Multithreading and Networking
Learn how to develop GUI applications using Swing Framework in Java
Practical learning with Hands-On approach including Projects and Quizes

The Complete Java Course From Basics to Advanced


A Computer with Windows, MacOS or Linux Installed
Basic programming skills in any programming language is preferred
Motivation, and willingness to learn


In this course we will dive deep into Java Programming and cover many topics starting from the basics to the advanced topics with Hands-On projects and quizzes.This comprehensive Java course is designed for programmers who want to learn Java programming language from scratch or for Java developers who want to improve in some specific areas or advance their skills and learn more advanced topics in Java. In this course, you’ll learn variety of topics including: the basics of Java data types, variables, loops, conditionals, and control flow. You’ll also learn about strings, arrays, functions, regular expressions, object-oriented programming concepts such as inheritance, polymorphism, encapsulation, and abstraction. Additionally, this course covers exception handling, the collection framework, Java I/O, Networking in Java, Developing GUI applications in Java using Swing, using Databases with Java and implementing Unit Tests in Java using JUnit.Throughout the course, you’ll work on Hands-On projects like: Student Management system and an Online Chatting Application. These projects will help you apply what you’ve learned and build practical skills that you can use in real-world scenarios. By the end of this course, you’ll have a solid foundation in Java and be able to build Java applications confidently.I am confident that you will like this course and that you will be a professional Java programmer, or a better Java programmer if you already have some Java knowledge, so join me in this course and master Java Programming!


Section 1: Introduction

Lecture 1 Introduction

Lecture 2 What are JDK, JRE and JVM

Lecture 3 Installing JDK

Lecture 4 Installing Eclipse

Section 2: Java Basics

Lecture 5 Hello World! – Eclipse

Lecture 6 Hello World! – Command Line

Lecture 7 Data Types and Variables

Lecture 8 Comments

Lecture 9 final Keyword

Lecture 10 Math Operations

Lecture 11 Compairson Operators

Lecture 12 Compound Assignment Operators

Lecture 13 Increment and Decrement Operators

Lecture 14 Type Casting

Lecture 15 Wrapper Classes

Lecture 16 Packages and How To Import Them

Lecture 17 Getting Input from the Console

Section 3: Conditionals and Control Flow

Lecture 18 If/else Statements

Lecture 19 Chained else/if Statements

Lecture 20 Switch Statement

Lecture 21 Conditional Operators

Section 4: Loops

Lecture 22 For Loops

Lecture 23 While Loops

Lecture 24 do-while Loops

Lecture 25 Break Statement

Lecture 26 Continue Statement

Section 5: Strings

Lecture 27 Introduction to Strings in Java

Lecture 28 The String Pool

Lecture 29 Why Strings in Java are immutable ?

Lecture 30 Comparing Strings

Lecture 31 Concatenating Strings

Lecture 32 Substring

Lecture 33 Other String Methods

Section 6: Project – Calculator

Lecture 34 Description

Lecture 35 Solution – Project Implementation

Section 7: Functions

Lecture 36 Introduction to Functions in Java

Lecture 37 Function’s Parameters

Lecture 38 Function Overloading

Section 8: Arrays

Lecture 39 Introduction to Arrays

Lecture 40 Iterating Arrays

Lecture 41 ArrayLists

Lecture 42 Sorting Arrays in Java

Lecture 43 Passing Arrays to Methods

Lecture 44 Returning Arrays from Methods

Lecture 45 Multidimensional Arrays

Lecture 46 Copying Arrays

Section 9: Regex

Lecture 47 Introduction to Regex

Lecture 48 Character Classes

Lecture 49 Quantifiers

Lecture 50 Metacharacters

Lecture 51 Regex Usecases in Java

Section 10: Object-Oriented Programming (OOP)

Lecture 52 Introduction to OOP

Lecture 53 “this” Keyword in Java

Lecture 54 Constructors

Lecture 55 Constructor Overloading

Lecture 56 Copy Constructor

Lecture 57 Inheritance

Lecture 58 Polymorphism

Lecture 59 Access modifiers

Lecture 60 Encapsulation

Lecture 61 Introduction to Abstraction

Lecture 62 Abstract Class

Lecture 63 Interface

Lecture 64 Method Overloading vs Overridding

Lecture 65 super Keyword

Lecture 66 Generic Class

Section 11: Exception Handling

Lecture 67 Introduction to Exception Handling

Lecture 68 Try-Catch Block

Lecture 69 Finally Block

Lecture 70 Throw Keyword

Lecture 71 Throws Keyword

Section 12: Collection Framework

Lecture 72 Introduction to the Collection Framework

Lecture 73 The List Interface

Lecture 74 ArrayList

Lecture 75 LinkedList

Lecture 76 The Set Interface

Lecture 77 HashSet

Lecture 78 The Map Interface

Lecture 79 HashMap

Lecture 80 Iterator

Lecture 81 Comparator Interface

Section 13: Java Input/Output

Lecture 82 Streams

Lecture 83 InputStream and OutputStream

Lecture 84 FileOutputStream Class

Lecture 85 FileInputStream Class

Lecture 86 FileWriter Class

Lecture 87 PrintWriter Class

Lecture 88 FileReader Class

Lecture 89 BufferedReader Class

Lecture 90 Serialization

Lecture 91 Deserialization

Lecture 92 Serialization with Aggregation

Lecture 93 Serialization with Static Members

Lecture 94 Transient Keyword

Section 14: Project 2 – Student Management System

Lecture 95 Project Description

Lecture 96 Solution – Creating the Student Class

Lecture 97 Solution – Implementing the Main Method

Lecture 98 Solution – addStudent() Method Implementation

Lecture 99 Solution – isValidEmail() Method Implementation

Lecture 100 Solution – searchStudents() Method Implementation

Lecture 101 Solution – sortStudents() Method Implementation

Lecture 102 Solution – StudentComparator Implementation

Lecture 103 Solution – viewStudents() Method Implementation

Lecture 104 Solution – Adding Error Handling

Lecture 105 Solution – Testing and Fixing Bugs

Section 15: Networking

Lecture 106 Socket Programming

Lecture 107 URL Class

Lecture 108 URLConnection Class

Lecture 109 InetAddress Class

Lecture 110 UDP Communication

Section 16: Multi-threading

Lecture 111 Introduction to Threads and Multithreading

Lecture 112 Life cycle of a Thread

Lecture 113 Creating a Thread

Lecture 114 Thread.sleep() Method

Lecture 115 Join() Method

Lecture 116 Thread Pools

Lecture 117 Introduction to Synchronization

Lecture 118 Synchronized Methods

Lecture 119 Synchronized Blocks

Lecture 120 Inter-Thread Communication using wait() and notify()

Lecture 121 Interrupting Threads

Section 17: Java GUI using Swing

Lecture 122 Introduction to Swing

Lecture 123 Hello World from Swing

Lecture 124 JButton

Lecture 125 ActionListener

Lecture 126 JTextField

Lecture 127 Displaying a Message Box

Lecture 128 Introduction to LayoutManager

Lecture 129 BorderLayout

Lecture 130 GridLayout

Lecture 131 Adding Menus with Swing

Section 18: Project 3 – Online Chatting Application

Lecture 132 Project Description

Lecture 133 Solution – Project Overview

Lecture 134 Solution – Client Implementation

Lecture 135 Solution – Server Implementation

Lecture 136 Soution – ClientHanlder Implementation

Lecture 137 Solution – Testing and Fixing Bugs

Section 19: JDBC: Working with Databases

Lecture 138 Introduction to JDBC

Lecture 139 Downloading/Installing MySQL

Lecture 140 Creating a Database in MySQL Workbench

Lecture 141 Connecting JDBC to MySQL Database

Lecture 142 PreparedStatement: Insert/Delete/Update Rows

Section 20: JUnit: Unit Testing

Lecture 143 Introduction to JUnit

Lecture 144 Adding JUnit to Eclipse

Lecture 145 Assertions

Lecture 146 Annotations

Lecture 147 Annotations Example

Programmers with no Java knowledge who want to be proficient in Java Programming,Computer Science students or a self-learner programmer who wants to learn and master Java Programming,Java Developers who want to improve in some areas or learn more advanced topics about Java

Course Information:

Udemy | English | 10h 41m | 3.01 GB
Created by: Ahmed Elsakka

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top