Table of contents : Introduction Chapter 1: Why Java? Object-Oriented Programming Execution in Multiple Operating Systems Automatic Memory Management Community Support Great Application Programming Interfaces The Documentation Support Security Multi-Thread Key Concepts Differences Between Classes and Objects Main () Method Comment Class Compiler Java Install On Windows On Macintosh Let’s Try It Out Chapter 2: Variables Declaring Variables Displaying Variables Data Types Integer Types Byte Short Ints Long Floating Point Types Float Doubles Scientific Numbers Booleans Char Non-Primitive Data Types String Static Checking Naming Type Casting Manipulating Variables: Operators Manipulating Variables: Addition and Subtraction Manipulating Variables: Multiplication and Division Manipulating Variables: Modulo Manipulating Variables: Compound Assignment Operators Manipulating Variables: Order of Operations Manipulation Variables: Greater Than and Less Than Manipulating Variables: Equals and Not Equals Manipulating Variables: Greater/ Less Than or Equal To Manipulating Variables: .equals() (very similar content to equals() in string methods) Manipulating Variables: String Concatenation Manipulating Variables: final Keyword Types of Variables Class Variables Local Variables Instance Variables Chapter 3: String Methods toString() method length() concat() equals() & .compareTo() indexOf() charAt() substring() toUpperCase() & toLowerCase() Chapter 4: Arrays Creating an Array Empty Arrays String[] args ArrayList Chapter 5: Operators Recap Methods Conditional Operators Conditional—And: && Logical Not: ! How Do We Combine Conditional Operators Chapter 6: Statements Conditional Statements The If Statement The Else Statement The Else If Statement The Switch Statements Chapter 7: Classes Creating a Class Creating an Object Multiple Classes Syntax Constructors Instance Fields Constructor Parameters Assigning Values to Instance Fields Multiple Fields Methods Parameters and Arguments Multiple Parameters Method Overloading Java Math Math.max() Math.min() Math.sqrt() Math.abs() Math.random() Java Packages & API Built-in Packages User-Defined/Third-Party Packages Abstract Classes and Methods Java Enums Java User Input Java Dates Java HashMap Java HashSet Java Wrapper Classes Java Regular Expressions Chapter 8: Static Methods and Static Variables Recap Methods Static Variables Modifying Static Variables Writing Your Static Methods Chapter 9: Inheritance and Polymorphism Chapter 10: Loops While Loops Do/ While Loops Counter Variables For Loops Looping Over ArrayLists and Arrays For-Each Loops Chapter 11: Access and Scope Access public Keyword private Keyword Scope this Keyword Chapter 12: Debugging Syntax Errors Run-Time Errors Logic Errors Debugging Techniques Print Statement Method Dividing Your Program Chapter 13: Java Files File Management Create a File Writing a File Reading a File Deleting a File Chapter 14: FAQ Conclusion References