Java Fundamentals: Learn the Basics of Java
- Description
- Curriculum
- FAQ
- Reviews
Java fundamentals Learn Java basics:
Java has been around for a long time and has been the driving force in the IT industry. Additionally, it’s one of the most popular and sustainable programming languages ever created. Its flexibility is unmatched as it’s used in virtually all domains of software development. Furthermore, Java is often used for building web applications, desktop applications, mobile applications, game engines, etc.
This course will help you build strong foundations by mastering the fundamentals of the Java programming language. Moreover, we will go over all the essentials and leave no stone unturned, in your path to becoming a successful Java developer.
Whether you’re starting from scratch or looking to reinforce existing knowledge, this comprehensive curriculum will ensure you build a strong foundation. After this course, you will be ready to pursue your career path as a Java developer.
You will have plenty of options in front of you. Additionally, whether you choose to build web applications, desktop applications, mobile applications, or all of them, as long as you have strong knowledge of the fundamentals, switching between different technology stacks is easy.
I’ve structured this course in such a way that lessons aren’t too long and get straight to the point. Furthermore, at the end of each section, there is a quick recap, quizzes, and coding exercises. None of the exercises are mandatory, but I encourage you to try them at least once.
There is already plenty of free learning material out there. However, it’s easy to get lost and stuck, not knowing where to go next. Java fundamentals learn Java basics course is well-structured and covers the whats, whys, and hows, all in one place
-
1IntroductionVideo lesson
-
2What is Java?Video lesson
-
3Installing Java (Windows, Mac)Video lesson
Windows and Mac
You can download the Java Development Kit (JDK) at: https://www.oracle.com/java/technologies/downloads/
I recommend downloading the latest suggested version.
-
4Installing Java (Linux)Video lesson
Ubuntu
To install the JDK on Ubuntu, you can use apt. Here is a good guide by Linode:
https://www.linode.com/docs/guides/how-to-install-openjdk-ubuntu-22-04/#how-to-install-openjdkIf you want to use multiple versions of Java, follow this guide:
https://aboullaite.me/switching-between-java-versions-on-ubuntu-linuxFedora
On Fedora you can use dnf to install OpenJDK:
https://docs.fedoraproject.org/en-US/quick-docs/installing-javaOpenSUSE
On OpenSUSE the installation is more complicated due to Oracle's licensing issues. However, it's not impossible and OpenSUSE provides a guide on how to install Java:
https://en.opensuse.org/SDB:Installing_JavaArch Linux
Arch Linux has a utility for easily installing Java:
https://wiki.archlinux.org/title/javaRHEL
On Red Hat Linux you can install Java with yum:
https://access.redhat.com/documentation/en-us/red_hat_build_of_openjdk/21/html/installing_and_using_red_hat_build_of_openjdk_21_on_rhel/installing-openjdk11-on-rhel8_openjdkGentoo
To install Java on Gentoo, you can follow these instructions from their wiki page:
https://wiki.gentoo.org/wiki/Java -
5Installing IntelliJ (Windows, Mac)Video lesson
-
6Installing IntelliJ (Linux)Video lesson
Flatpak
Official Flatpak image: https://flathub.org/apps/com.jetbrains.IntelliJ-IDEA-Community
flatpak install flathub com.jetbrains.IntelliJ-IDEA-Community
Snap
Official Snap image:
sudo snap install intellij-idea-community --classic
https://snapcraft.io/intellij-idea-community
AppImage
Not available at the time of me writing this.
Manual Install
Download .tar.gz file from the IntelliJ IDEA website, unpack it, and you will find instructions setting everything up. https://www.jetbrains.com/idea/download/?section=linux
-
7Our First Java ProjectVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/01_getting_started/03_our_first_java_project.md
-
8Java Architecture OverviewVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/01_getting_started/04_java_architecture_overview.md
-
9Quick RecapVideo lesson
-
10How to Take This CourseText lesson
-
11Source CodeText lesson
The source code (and more) can be found in my public GitHub repository:
https://github.com/bezbos/complete-java-course
-
12Where to Find MeText lesson
You can find me on the following platforms (no links due to Udemy rules, so I've placed my username or name):
YouTube: bezbos
LinkedIn: Boško Bezik
Medium: bezbos.
GitHub: bezbos
StackOverflow: bezbos
-
13Getting Started QuizQuiz
-
14VariablesVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/01_variables.md
-
15Final VariablesVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/02_final_variables.md
-
16Expressions & StatementsVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/03_expressions_statements_blocks.md
-
17CommentsVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/04_comments.md
-
18Primitive TypesVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/05_primitive_types.md
-
19Floating Point PrimitivesVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/06_floating_point_and_big_decimal.md
-
20StringsVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/07_strings.md
-
21String Escape SequencesVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/08_string_escape_sequences.md
-
22String FormattingVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/09_formatting_strings.md
-
23Multiline Strings (Text Blocks)Video lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/10_multiline_strings_text_blocks.md
-
24Primitive Type CastingVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/11_primitive_type_casting.md
-
25Converting Strings and NumbersVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/12_conversion_between_strings_and_numbers.md
-
26Static Typing and `var` Type NameVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/13_var_typename.md
-
27Compile-time vs RuntimeVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/16_compile_time_vs_runtime.md
-
28Default ValuesVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/14_default_values.md
-
29Literals and Literal FormattingVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/02_data_types_and_variables/15_literals_and_literal_formatting.md
-
30Quick RecapVideo lesson
-
31Data Types and Variables QuizQuiz
-
32Addition with Variable ValuesQuiz
-
33String ConcatenationQuiz
-
34String ManipulationQuiz
-
35String FormattingQuiz
-
36String Escape SequencesQuiz
-
37Replacing StringsQuiz
-
38Arithmetic OperatorsVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/03_operators/01_arithmetic_operators.md
-
39Advanced Arithmetic OperationsVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/03_operators/02_advanced_arithmetic_operations.md
-
40Logical OperatorsVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/03_operators/03_logical_operators.md
-
41Operator PrecedenceVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/03_operators/04_operator_precedence.md
-
42Bitwise and Bitshift OperatorsVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/03_operators/05_bitwise_and_bitshift_operators.md
-
43Quick RecapVideo lesson
-
44Operators QuizQuiz
-
45ArraysVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/04_arrays/01_arrays.md
-
46Multidimensional ArraysVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/04_arrays/02_multidimensional_arrays.md
-
47Array MethodsVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/04_arrays/03_array_methods.md
-
48Quick RecapVideo lesson
-
49Arrays QuizQuiz
-
50`if` StatementVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/05_conditional_statements/01_if_statement.md
-
51Reading Console InputVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/05_conditional_statements/02_reading_console_input.md
-
52`switch` StatementVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/05_conditional_statements/03_switch_statement.md
-
53`switch` ExpressionVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/05_conditional_statements/04_switch_expressions.md
-
54Quick RecapVideo lesson
-
55Conditional Statements QuizQuiz
-
56Temperature CheckerQuiz
-
57Temperature and Weather CheckerQuiz
-
58Day TellerQuiz
-
59`while` LoopVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/06_loops/01_while_loop.md
-
60`do-while` LoopVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/06_loops/02_do_while_loop.md
-
61`for` LoopVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/06_loops/03_for_loop.md
-
62`break` StatementVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/06_loops/04_break_statement.md
-
63`continue` StatementVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/06_loops/05_continue_statement.md
-
64Processing Arrays with LoopsVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/06_loops/06_processing_arrays_with_loops.md
-
65`for-each` LoopVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/06_loops/07_enhanced_for_loop.md
-
66Quick RecapVideo lesson
-
67Even NumbersQuiz
-
68Sum of ElementsQuiz
-
69Guess the NumberQuiz
-
70Extracting MethodsVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/07_effective_coding/01_extracting_methods.md
-
71Effective NamingVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/07_effective_coding/02_effective_naming.md
-
72RefactoringVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/07_effective_coding/03_refactoring.md
-
73Avoiding Code DuplicationVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/07_effective_coding/04_avoiding_code_duplication.md
-
74Magic Strings and NumbersVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/07_effective_coding/05_magic_strings_and_numbers.md
-
75Effective CommentingVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/07_effective_coding/06_effective_commenting.md
-
76Code Style and FormattingVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/07_effective_coding/07_code_formatting_and_style.md
-
77Version Control and CollaborationVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/07_effective_coding/08_version_control_and_collaboration.md
-
78Effective DocumentationVideo lesson
Source code:
https://github.com/bezbos/complete-java-course/blob/main/01_java_fundamentals/07_effective_coding/09_effective_documentation.md
-
79Quick RecapVideo lesson
-
80Effective Coding QuizQuiz