Java is a high-level, cross-platform, mature, object-oriented programming language. Java is extremely popular due to its flexibility and ability to run anywhere!
Lesson #1
Introduction
This is the beginning of the Java class. In here you will get started with writing your first Java code!](/content/classes/java/introduction/index.html)
Lesson #2
Overview, Syntax, and Comments
Get an overview of Java in this lesson including the syntax and how to leave single and multi-line comments.](/content/classes/java/overview-syntax-comments/index.html)
Lesson #3
Variables and Types
Variables and constants hold data and information. Learn how to declare, initialize, and reassign them in Java.](/content/classes/java/variables-types/index.html)
Lesson #4
Math
Learn about how to do arithmetic and work with the basic math operators and methods provided by Java.](/content/classes/java/math/index.html)
Lesson #5
Ifs, Else Ifs, Switch
Logic and conditionals are a fundamental part of Java and is how your program can make decisions on what to do.](/content/classes/java/logic-conditionals/index.html)
Lesson #6
Loops
Learn how to shorten and improve your code by utilizing loops like for loops, while loops, and do while loops.](/content/classes/java/loops/index.html)
Lesson #7
Methods
Methods in Java allow you to reuse a code block and reduce code repetition which ensures cleaner and more modular code.](/content/classes/java/methods/index.html)
Lesson #8
Arrays
Arrays are a list of data in Java. In this lesson, learn how to create, add elements to, remove elements from, and iterate over arrays.](/content/classes/java/arrays/index.html)
Lesson #9
Enums
Enums in Java are a group of constants that you can define. Learn how to define them, get their value, and iterate over them.](/content/classes/java/enums/index.html)
Lesson #10
Classes and Objects
Java is an object-oriented programming language and because of this, classes and objects are a fundamental feature of the language.](/content/classes/java/classes-objects/index.html)
Lesson #11
Instances and Access Modifiers
Creating a new object creates a new instance of that class. Learn about what that means, including the different access modifiers.](/content/classes/java/instance-access-modifiers/index.html)
Lesson #12
Encapsulation
Encapsulation is the principle of wrapping data inside an object to protect it from unwanted accesses or manipulation.](/content/classes/java/encapsulation/index.html)
Lesson #13
Inheritance
Inheritance is the mechanism in which a class is able to access all of the properties and methods of a parent class.](/content/classes/java/inheritance/index.html)
Lesson #14
Polymorphism
Polymorphism is the concept that objects can take many forms, particularly when it is extending from a parent class.](/content/classes/java/polymorphism/index.html)
Lesson #15
Abstract Classes
Abstract classes are classes in Java that contain abstract methods and let children classes provide the implementation.](/content/classes/java/abstract-classes/index.html)
Lesson #16
Interfaces
Java interfaces are templates for classes to achieve abstraction and polymorphism similar to abstract classes.](/content/classes/java/interfaces/index.html)
Lesson #17
Packages
Packages are the namespace conventions that Java follows to avoid naming collisions and organize files.](/content/classes/java/packages/index.html)
Lesson #18
Collections
The Collections framework in Java defines numerous different data structures in which you can store, group, and retrieve objects.](/content/classes/java/collections/index.html)
Lesson #19
Date: Work with Moments in Time
Learn how to express dates and moments in time using Java's built-in date and time functions and variables.](/content/classes/java/date-time/index.html)
Lesson #20
File System and IO
Learn how to work with the file system in Java including how to open, read, write, and close a file.](/content/classes/java/file-system/index.html)
Lesson #21
Regular Expressions
Learn how to use regular expressions search patterns to match text and do advanced find and replace operations.](/content/classes/java/regular-expressions/index.html)
Lesson #22
Exceptions
Learn how to gracefully handle and recover from critical exceptions in Java when they arise in your code.](/content/classes/java/exceptions/index.html)
Lesson #23
Conclusion and Wrap Up
Congratulations on finishing this class on Java. This lesson is the last lesson of the class on Java and serves as the conclusion of the class.](/content/classes/java/conclusion/index.html)