
by
PRO
FE S
S OR

by Steps
JAVA can be easily learned by steps.
Before beginning on JAVA it may be beneficial to understand
about Object-Oriented Programming in general.
Main Pillars of Object-Oriented Programming
Encapsulation
Inheritance
Polymorphism
Other features of Object-Oriented Programming:
Information Hiding
Abstraction
This is the 1st Mini-Course of this Series and is about the JAVA code and its fundamentals.
This is composed of 14 Sections, and you'll learn about the code core of JAVA.
Other Sections later will include GUI components (AWT and SWING classes), Graphics,
Applets, Event Handlers, More on Exceptions, I/Os, Serialization, and other topics,
all which are also very important for a thogouh understanding of the language.
To learn the JAVA code by steps, just begin with Step 1 below,
and continue on with all the other Steps in order.
1st MINI-COURSE
| Section I - | Introduction to JAVA |
| What's JAVA and Why JAVA? | |
| JAVA File Names, Compilation and Execution | |
| Section II - | Our 1st JAVA Stand-alone Program |
| Classes for Encapsulation | |
| The main Method | |
| Console output -> 'System.out.println()' method | |
| Keyboard Input methods | |
| Section III - | Data Types, Variables, and Constants |
| Data Types (primitive and non-primitive) | |
| Local and Class Variables | |
| Instance Variables | |
| Constants | |
| Section IV - | Operators and Casting |
| Kinds of Operators and the Assignment Operator | |
| Arithmetic Operators | |
| Unary Arithmetic Operators | |
| Casting | |
| Logical Operators | |
| Relational Operators | |
| Bitwise Operators | |
| Section V - | Object: Instance of a Class |
| JAVA classes revisited | |
| What is an Object? | |
| Cohesion and De-coupling | |
| Section VI - | Arrays and the String class |
| Arrays and their Initialization | |
| Multi-dimensional Arrays | |
| Strings and their immutability | |
| The StringBuffer class | |
| Section VII - | Programming Flow Instructions |
| Straight Line and Branch Programming | |
| Decision and Cases (if / else, switch) | |
| Iteration (Loops) | |
| Processor Control (break, continue) | |
| Section VIII - | Methods and Overloading |
| Defining and Invoking a method | |
| Instant and class(static) methods | |
| Returning a value by a method | |
| Parameters passed via a Method. | |
| Parameters passed as Values, and as Reference. | |
| Method Overloading | |
| Section IX - | Constructors |
| What is a Constructor? | |
| Why Constructors? | |
| Order of Call for class (static) and Instance Objects | |
| Constructor Overloading | |
| The 'this' operator. | |
| Section X - | Inheritance |
| Single root Inheritance | |
| Members inherited | |
| Overriding | |
| The 'final' modifier | |
| Constructor Invocation at different Hierarchy Levels | |
| The 'super' Reference | |
| Section XI - | Packages and Visibility modifiers |
| Packages (directories) and importing them | |
| Visibility modifiers | |
| Information Hiding and WHY? | |
| Accessors and Mutators | |
| Section XII - | Interfaces and Abstraction |
| Abstract Classes | |
| Interfces - fully abstract Classes | |
| Implementing Multiple Interfaces | |
| Why Interfaces? | |
All Sections below | Under Development ![]() |
| Section XIII - | Polymorphism |
| What is Polymorphism? | |
| How is Polymorphism implemented in JAVA? | |
| Why Polymorphism? | |
| Section XIV - | Exception Handling |
| Exception Handling in JAVA | |
| Exception classes and its sub-classes | |
| Methods raising Exceptions, and Why Exceptions? | |
| How to handle Exceptions? | |
End of 1st MINI-COURSE