Java Tutorial
Getting Started
- Difference Between the JVM, JRE, and JDK in Java
- Compiling and Running Your First Java Program
- Structure of a Java Source File
- Java Naming Conventions
Documentation
- Java Comments
- List of Javadoc Block Tags
- List of Javadoc Inline Tags
- Javadoc Linking Using @see, @link and @value
Variables
- Variables in Java
- Immutable Variables in Java
- Constants in Java
- Type Inference in Java
- Arrays in Java
Data Types
- Java Primitive Data Types
- Type Conversion in Java
- Java Number Operators
- Number Systems in Java
- Java's Number Class
- How Autoboxing and Unboxing Works in Java
- Java Enumerations
- How to Use Java's Optional Class
Strings
Control Flow
- Java If Statement
- Java Switch Statement
- Java Switch Expression
- Java While Loop
- Java Do-While Loop
- Java For Loop
- Java For-Each Loop
- Java Break Statement
- Java Continue Statement
- Pattern Matching Using the instanceof Operator in Java
- Pattern Matching Using Switch in Java
- Record Patterns in Java
Error Handling
- Exception Handling in Java
- Java try-with-resources Statement
- Checked vs Unchecked Exceptions in Java
- Exceptions vs Errors in Java
- Creating Custom Exceptions in Java
- The Case for Checked Exceptions in Java
- The Case Against Checked Exceptions in Java
Collections
- Iterators in Java
- ListIterator in Java
- Spliterator in Java
- Lists in Java
- How to Know What Collection to Use
- Size vs Capacity in Java Collections
- Java Streams
- Infinite Streams in Java
Packages
Interfaces
- Java Interfaces
- Static and Default Methods in Java Interfaces
- Constants in Java Interfaces
- Marker Interfaces in Java
- Functional Interfaces in Java
Classes
- Java Class Layout Standard
- Java Access Modifiers
- Java Static Initializers
- Constructors vs Initializers in Java
- Java Class Constructors
- Shadowing and Using this in Java
- Field and Method Hiding in Java
- Inner Classes in Java
- Nested Classes in Java
- Nested vs Inner Classes in Java
- Anonymous Classes in Java
- Local Classes in Java
- Sealed Classes in Java
- Java Static Variables, Methods, Initializers, and Classes