Java 17: Learn and dive deep into Java
- Description
- Curriculum
- FAQ
- Reviews
Welcome to the Learn and dive deep into Java course.
This course is for:
- Students.
- Graduates
- Self-taught Software Engineers
- Bootcamp graduates.
- Interview Preparation.
- Technical Managers.
- Software engineers with 0-3 years of experience
- or If you always want to stay up-to-date (this course will be updated regularly to cover the latest Java features)
Course prerequisite:
- You need a laptop, preferably connected to two screens, one for the course and the other for practice.
- To stand out as a software engineer, you should be patient, inquisitive, and detail-oriented.
- No prior programming experience is totally fine. I’m explaining all concepts here in a very simple and straightforward way.
- I will use IntelliJ IDEA Community Edition to write Java Code in this course. It is free, modern, and preferred among Java developers.
I chose Java for this course for many reasons:
- It is a must-know programming language taught in all computer science programs.
- Using Java, you can develop countless types of applications that run on any operating system.
- Java is the second preferred programming language among the top 25 tech giants.
Course overall objectives:
- Provide detailed and organized material that makes you land a job and start working from day one.
- This course will cover most Java topics, data structure, and some algorithms so you can pass job interviews.
- There will be a questions and answers section to answer students’ questions.
I will update this course every three months.
I will answer all your questions within 48 hours, and some questions will get a video response.
This course covered in detail the following topics:
- Java Fundamentals (Data Types, Conditionals, Iterations, Arrays, Strings, Exception Handling).
- Object Oriented Programming (Classes, Methods, Static, Inheritance, Record, Abstract classes, Interfaces).
- Lambda expressions, Generics, Stream API.
- Collections Framework (in-depth).
Coming Soon Multithreading, Data Structure in Java, and more.
-
2Download and Install JDK (Java Development Kit)Video lesson
In this lecture, you will download and install the Java Development Kit. In this course, I'm using JDK version 17, and I will update the course regularly and add any significant features from Java's future releases.
-
3Where to Write Java CodeVideo lesson
You will write your first Java Program in a text edit app using Mac or notepad if you use Windows.
You will compile and run your program from the terminal.
I included different IDEs links in the resources files. However, I encourage you to use IntelliJ IDEA.
Finally, in the resources, you will find important terminal commands you should know. We won't use them in this course but I included them as a reference for you.
-
4Download and Install IntelliJ IDEAVideo lesson
Download and install IntelliJ IDEA (Community Edition)
-
5IntelliJ IDEA First LookVideo lesson
You will increase your productivity tremendously but knowing the IDE ins and outs. In this lecture, I will show some of IntelliJ IDEA features, and throughout the course, I will show you tips, tricks, and shortcuts.
-
6Organizing the Code in JavaVideo lesson
Many sections in this course cover the topic of Organizing Java Code. in this lecture, I will show you the basic Code structure. By the end of this lecture, you will have a good idea about the Package, Class, Methods, and how to organize your code.
-
7What is Compiled Code?Video lesson
What is Compiled Code in Java?
By the end of this lecture, you will be able to answer this question in this lecture.
-
8Compiled Code in IntelliJ IDEAVideo lesson
I want you to have a solid foundation and understanding of Java's workings. In this lecture, I will show you the Java compiled code in IntelliJ.
-
9JDK, JRE, and JVM in DepthVideo lesson
To stand out as a Java software engineer, you need to understand how Java works under the hood. In this lecture you will have deep understanding of the JDK and its two main components: the JRE and the JVM.
-
10Is Java Slow?Video lesson
Is Java Slow?
Of Course Not. What a silly question! Thanks to the JIT Compiler, which enhanced the Java Performance drastically. In this lecture, you will understand where and what is the JIT Compiler and how it enhances Java Performance.
-
11print() and println() methods in JavaVideo lesson
Your first two methods to know and use in Java. You will use print and println methods all the time. In the OOP sections, you will have a deep understanding of "methods" in Java, and you will write your own methods.
-
12Introduction to Comments in JavaVideo lesson
Good code is easy to understand.
Comments will help you write understandable and easy-to-maintain code.
In this lecture, you will be introduced to two types of comments in Java: single-line comments and multiline comments.
-
13Section QuizQuiz
-
14Introduction to VariablesVideo lesson
Variables are containers used to store data. You will use variables in every single line of code you will write in your life.
In this lecture, you will get introduced to variables and declare and initialize variables locally and on the class levels (instance and static variables).
-
15Variables Naming ConventionsVideo lesson
The naming convention is an excellent tool in your pocket to make your code readable and understandable. In Java, we use the camelCase naming convention to name our variables.
-
16Introduction to Primitive Data TypesVideo lesson
The eight primitive data types in Java are int, byte, short, long, float, double, boolean, and char. In this lecture, you will get an idea of what are the primitive data types.
-
17Integral Data TypesVideo lesson
By the end of this lecture, you will be familiar with the byte, short, int, long, float, and double data types, and you will understand the different between these data types.
-
18Arithmetic Operators Part 1Video lesson
This should be a very easy and straightforward lecture for you. It is about the operators (+, -, *, /)
-
19Arithmetic Operators Part 2Video lesson
The Java modulus operator is used in so many algorithms, and this lecture, you will understand what is modulus (%) in Java, and you will be able to use it.
Also, you will see the increment (++) operator and the decrement operator (- -).
Don't forget to practice and ask questions. You should master these fundamentals and learn them by heart.
-
20Assignment OperatorsVideo lesson
Assignment operators (=, +=, -=, /=, *=)
Assignment operators are fundamentals you will use almost in every line of code.
In this lecture, you will master the assignment operators, and don't forget to practice. Watching videos is not enough.
-
21booleans and Relational OperatorsVideo lesson
The booleans and relational operators are important and the foundation for the if condition statement in Java.
please practice and ask questions.
-
22char Data TypeVideo lesson
The char data type is a 16-bit Unicode character. In this lecture, you get to know the char data type in Java.
-
23Type InferenceVideo lesson
The var keyword (from Java 10) allows local type inference. You can use the var keyword for declaration, and the compiler will infer a type at initialization.
In this lecture, you will learn how to use the var keyword, which made our life easier as software engineers.
-
24Escape Sequences and printf methodVideo lesson
The escape sequence is a character preceded by a backslash (), which has a special meaning to the compiler. n means new line. t means tab.
In this lecture, you will get introduced to escape sequences.
You will also use printf (print format), which helps you format your string and write compact and elegant code.
-
25User InputVideo lesson
It is time to take user input. You will use the Scanner class to read user input.
The Scanner class contains multiple methods; in this lecture, you will use the "next" method.
More importantly, you will understand how Java allocates objects in the memory.
-
26Scanner Methods and More ExamplesVideo lesson
The scanner class has methods to read all types of data.
In this lecture, you will use the methods (next, nextLine, nextInt, nextDouble)
-
27Wrapper ClassesVideo lesson
Sometimes, we can't use primitive data types in Java and have to use objects. You will see this in the Collections Framework section. Wrapper classes provide a way to use primitive data types as objects.
In this lecture, you will get familiar with wrapper classes, and in the Collections Framework section, you will use them extensively.
-
28Section QuizQuiz
Section Quiz is your self-assessment tool, don't skip it. You will find answers and lecture references to every question.
If you need more explanation, don't hesitate to ask me, I'm here to help.
-
29if-else StatementVideo lesson
Conditional Statements are used to tell the computer to execute a block of code If certain conditions are met.
In this lecture, I will introduce you to the if-else statement in Java. You will also see a detailed example, so you understand the concept very well.
-
30Nested-If exampleVideo lesson
A nested if statement is an if statement placed inside another if statement, and it is used when needed to test a combination of conditions. With the help of another example, you will learn how to write complex conditions in the lecture.
-
31if-else Statement (Example)Video lesson
More examples of using if-else statements in Java.
-
32Exercise - even or oddVideo lesson
This is a very classic conditional exercise, however, it is very important and a building blocks for solving a lot of code challenges.
-
33Logical Operators (AND & OR)Video lesson
Logical Operators (&&)(||) combine conditional and help you build complex conditional. This is an introduction to logical operators in Java.
-
34Exercise - fizz-buzzVideo lesson
Solve fizz-buzz in Java. This was a classic Job interview question for many years. You will learn so many things in this lecture and you will apply what you have learned so far.
-
35Logical Not (Negating boolean Values)Video lesson
You will know how to use the logical NOT ( ! ) operator in Java. Logical Operator in Java is also called logical complement or negation.
-
36Ternary Operators (Elvis Operator)Video lesson
Ternary Operator in Java is a very elegant way to write an if-else statement in one line.
-
37Exercise - insurance rateVideo lesson
In this Java Course, "Learn and dive deep into Java," I tried to show you examples of using every concept. In this lecture, you will see a real-life example of using conditionals in Java.
-
38Switch StatementVideo lesson
The switch statement in Java has evolved and is preferred over if statements. Especially after Java 17 and 19 release.
In this lecture, I showed you the old and new syntax of the switch statement in Java.
-
39Introduction to DebuggingVideo lesson
This is an introduction to debugging in Java. Debugging is a must-have skill. Throughout the course, I will debug a lot of code, and by the end of this Java course, you will be very familiar with debugging in Java.
-
40Section QuizQuiz
Section Quiz is your self-assessment tool, don't skip it. You will find answers and lecture references to every question.
If you need more explanation, don't hesitate to ask me, I'm here to help.
-
41While LoopVideo lesson
While-loop is a control flow statement; it allows you to execute a block of code repeatedly until a condition is met. in this Java lecture, you will know how to use while loop in java, and you will see examples as well.
-
42do-while LoopVideo lesson
Do-while is a variant of the while loop. However, there's one difference. In this lecture, you will learn how to use a do-while loop and the difference between a while and a do-while loop.
-
43For LoopVideo lesson
The most used loop statement in Java. It is elegant, compact, and versatile. You will see multiple examples of using for loop in this lecture.
-
44Jump Statements and Conditional DebuggingVideo lesson
You will learn an advanced technique of debugging, and you will also learn how to use Break and Continue in Java and what the difference is between Break and Continue.
-
45Exercise on Iterations in Java Part 1Video lesson
Exercises on using iterations in Java
-
46Exercise on Iterations in Java Part 2Video lesson
Exercises on using iterations in Java
-
47Nested LoopsVideo lesson
You will learn advanced techniques for using nested iterations in Java in this lecture and the following two lectures. This will help you tremendously in solving algorithms and in Job interviews.
-
48Nested Loops Exercise Part 1Video lesson
Exercise on nested loops in Java. This will help you tremendously in solving algorithms and in Job interviews.
-
49Nested Loops Exercise Part 2Video lesson
Exercise on nested loops in Java. This will help you tremendously in solving algorithms and in Job interviews.
-
50Section QuizQuiz
Section Quiz is your self-assessment tool, don't skip it. You will find answers and lecture references to every question.
If you need more explanation, don't hesitate to ask me, I'm here to help.
-
51Introduction to Arrays Part 1Video lesson
What are arrays?
Why do we need arrays?
Arrays declaration and initialization.
Access Elements in Array.
Print Array.
-
52Introduction to Arrays Part 2Video lesson
Arrays of different types.
What is the initial value for each type?
Print and Sort Arrays in Java
-
53Traversing ArraysVideo lesson
You will use what you have learned in the Iterations section to traverse/iterate over arrays.
-
54Exercise on ArraysVideo lesson
You will apply what you have learned in this Java Course.
-
55Two-dimensional ArraysVideo lesson
This is an advanced Java, and you will be able to master it. You will be introduced to a Java two-dimensional array concept and see how to use it.
Two-dimensional arrays are used to solve a lot of algorithms and Job interviews.
-
56Two-dimensional Arrays ExerciseVideo lesson
Exercise on Two-Dimensional Arrays in Java
-
57Strings ImmutabilityVideo lesson
You will understand how Strings are immutable/unmodifiable in Java.
-
58new StringVideo lesson
You will see a new way to declare and initialize Strings in Java.
-
59Strings are Arrays of CharactersVideo lesson
In Java, Strings are Arrays of Characters. In this lecture, you learn how to access each character using the charAt() method
-
60Strings TraversalVideo lesson
Strings are arrays, so you can traverse an array/string.
-
61Strings MethodsVideo lesson
The String class contains important methods, and you will use some of them like :
length , isEmpty , isBlank , trim , concat, toUpperCase, toLowerCase, startsWith, endsWith, replaceFirst, contains
-
62StringBuilderVideo lesson
We will look at an alternative way to manipulate Strings using the StringBuilder class.
-
63Section QuizQuiz
-
64Method Signature and Method OverloadVideo lesson
What is Method Signature in Java?
What is Method Overload in Java?
-
65Classes and ObjectsVideo lesson
What is a Class, and what is an Object in Java?
What is the difference between Class and Object in Java?
-
66MethodsVideo lesson
A detailed and deeper look at Methods in Java
-
67Pass by Value VS. Pass by ReferenceVideo lesson
Pass by Value
Vs.
Pass by Reference
-
68Class ConstructorVideo lesson
A constructor in Java is a special method that is used to initialize objects. You will learn everything about class constructors in this lecture.
-
69Access ModifiersVideo lesson
In Java, we have four access modifiers. In the following lecture, you will see default, public, and public access modifiers. The fourth access modifier (protected) will be covered with inheritance in the next section.
-
70this KeywordVideo lesson
It is always confusing for Java junior developers to understand the "this" keyword. I believe you will understand "this" keyword and know how to use it in this 9 minutes Java lecture.
Remember to practice, experiment, and ask questions.
-
71Static VariableVideo lesson
I'm aware that all online Java Courses combine static keyword usage in one lecture. However, one lecture won't be enough if this is your first time learning about static keywords in Java.
I explained the static keyword in three lectures so beginners could understand it well. And If you are an advanced developer, I think you will enjoy it as well.
-
72Static BlockVideo lesson
Static block is where you write instructions that will be executed only once when your class is loaded into the computer memory.
In this lecture, you will learn the static block and how to use it in detail.
-
73Static MethodVideo lesson
You will define methods that belong to the class rather than an instance of a class.
-
74Static Nested Classes and Inner-ClassesVideo lesson
You will learn another way to organize and secure your code.
-
75Section QuizQuiz
Section Quiz is your self-assessment tool, don't skip it. You will find answers and lecture references to every question.
If you need more explanation, don't hesitate to ask me, I'm here to help.
-
76Introduction to InheritanceVideo lesson
Inheritance is one of the key features of OOP that allows us to create a new class from an existing class. You will learn how to write less code using inheritance in Java.
-
77Protected Access ModifierVideo lesson
Back to Access modifiers again, and in this lecture, you will learn the last access modifier in Java (the protected access modifier).
-
78Method Overriding (Runtime Polymorphism)Video lesson
Polymorphism means different shapes or forms.
There are two types of polymorphism in Java: runtime and compile-time.
Runtime polymorphism is achieved through method overriding, while compile-time polymorphism is achieved by method overloading.
You have been introduced to method overloading, and in this lecture, you will see the method overriding.
-
79final and sealed KeywordsVideo lesson
Java's final keyword is a non-access specifier that restricts a class, variable, and method.
Sealed classes allow declaring which class can be a subtype using permits keyword.
In this lecture, you will learn how to use final and sealed keywords in Java.
-
80Encapsulation (getters and setters)Video lesson
Encapsulation in OOP means the ability to hide data and behavior from the user.
You can achieve encapsulation using the getters and setters methods. In this lecture, you will learn how to define and use getters and setters in Java.
-
81Object Methods (getClass)Video lesson
Everything in Java is an Object, that is because all objects in Java implicitly inherit from the Object class. In this lecture you will learn how to get information about an object at runtime using getClass method
-
82Object Methods (hashCode, equals, toString)Video lesson
You will learn how to override hashCode and equals methods which are crucial to get the expected results if you use some of the collections framework methods.
You will only learn how to override the toString method.
-
83Record Class (data carrier)Video lesson
Java 17 changed how we look at and use classes.
A record class declares a sequence of fields, and then the appropriate accessors, constructors, equals, hashCode, and toString methods are created automatically.This lecture has a lot of information, so pause, practice, take notes, and don't forget to ask questions. I'm here to help.
-
84Section QuizQuiz
Section Quiz is your self-assessment tool, don't skip it. You will find answers and lecture references to every question.
If you need more explanation, don't hesitate to ask me, I'm here to help.
External Links May Contain Affiliate Links read more