Overview Java
- History of Java
- Benefits of Java
- What is Java
- What's this "Virtual Machine?"
- Comparison to Other Languages
- Garbage Collection
- Java Programs
- Basic Java Development Tools
- Java Edtions
- Example - HelloWorld
- Java Classes
- Main Methods
- Statements
Java Tools in Eclipse
- Eclipse Platform
- Eclipse Workspace
- Perspectives, Views and Editors
- The Java Perspective
- The Debug Perspective
- Navigator View
- Package Explorer
- Outline View
- Problems View
- Eclipse Preferences
- Build and Validation
- Code Completion, Templates and Snippets
- Searching
- Configure Compiler Class Path
- JRE Switching
Basic Object Concepts
- What Is An Object?
- State
- Behavior
- Encapsulation
- Classes vs. Objects
- Inheritance
- Interfaces
- Polymorphism
- Benefits of Objects
Basic Java Syntax
- Declaring and Initializing Variables
- Keywords
- Primitive Data Types
- Logical - boolean
- Textual - character and String
- Integral - byte, short, integer, long
- Floating Point - float and double
- Literal Values
- Strings
- Creating Strings
- White Space
- Comments
- Scope of a Variable
- System.out/System.in
- Scanner Class
Operations and Making Decisions
- Operator Categories
- Special Situations
- Binary Operators
- Integer Division
- Numeric Promotion
- Type Conversion of Primitive Types
- Unary Operators
- Relational Operators
- Logical Operators
- Bitwise Operators
- Bitwise Examples
- Shift Operators
- Overvlow and Underflow
- Assignment Operators
- Ternary Operator
- Calculation Errors
- Operator Precedence
- Precedence Examples
- Combining Strings
- Control Flow Statements
- 'if' Statement
- 'if...else' Statement
- Nested Statements
- "Short Circuited" Operators
Using Classes and Objects
- Objects, Instances, and Classes
- JVM Storage Areas
- What are Classes?
- Working with Classes and Objects
- Instantiation
- Instance Methods
- Object References
- String Operations
- The Math Class
Writing Classes
- Why Define Your Own Classes?
- Encapsulation
- Elements of a Class
- Defining Classes
- Fields
- Defining Fields
- Methods
- Defining Methods
- Passing Parameters
- Local Veraiables vs. Instance Variables
Controlling Code Access and Code Organization
- Controlling Access
- Data Hiding
- Encapsulation
- JavaBeans
- Packages
- Problems Solved with Packages
- Naming Packages
- Declaring Packages in Classes
- Package Access
- Import Statement
- Using Classes from Packages
- Correlation to File Structure
- Class Path
- Java Core Packages
- Java API Documentation
Constructors and Class Members
- Constructors
- Multiple Constructors
- Defining Constructors
- Default Constructor
- 'this' Keyword
- Using 'this' to Call a Constructor
- Using 'this' to Set a Field
- Class Members
- Comparison with Instance Members
- Use of Class Variables
- Static Class Methods
- Use of Class Methods
- Main Method and Command Line Arguments
- Declaring Constants
- Useful Standard Class Members
- Initialization Blocks
- Static Intialization Blocks
Advanced Control Structures
- 'switch' Statement
- Switch "Fall Through"
- 'for' Loop
- 'while' Loop
- 'do...while' Loop
- Break Statement
- Labeled Statements
- Continue Statement