- Identifier
- Variables
local vs class variable, instance vs static variable
- Data Type
primitive vs reference data type
- Type Conversion
implicit vs explicit type conversion
int <-> String conversion
numeric data type conversion
- Operator
arithmetic vs relational vs bitwise vs logical vs assignment operator
operator precedence
postfix vs prefix increment/decrement operator
- Control Statement
if/else, switch, for/foreach, while/do-
while, break/continue
- Array
Integer Array
Person Array
2D Array
returning an array vs passing an array as parameter
- Enum
enum data type
enum Operation example
enum Operator, enum Gender, enum Weekday
- Method
parameter passing (pass-by value – primitive vs reference data type)
swap
method overloading vs overriding
- Class
Person Class
default/public/protected/private
Static vs Instance Initializer Block
constructor usage guideline
singleton design pattern vs static class
ValueClass instance vs static
BankAccount instance vs static
Person instance vs static
PersonContactTest (has-a PhoneNumber)
ArithmeticCalculator (has-a Value & ArithmeticOperator)
- Inheritance
BankAccount SavingAccount CheckingAccount class(instance vs static member)
Car Sedan class (default/public/protected/private)
Person Student class (instance vs static method overriding)
- Polymorphism
Polymorphism vs Method Overriding vs Method Overloading
Abstract Class & Abstract Method & Polymorphism
- Interface
Comparable & Comparator Interface
Shape Polymorphism with Interface
- Collections
autoboxing and unboxing
Equals vs Contains
== vs equals vs hashCode vs contains
Array vs ArrayList
Difference between Array and ArrayList
- Swing
Swing Component
Layout Manager
5 Ways to Implement Event Listener
Event Listener (ChangeListener, KeyListener, ActionListener)
Key & Mouse Motion Listener & Adapter
TemperatureConverter
MetricConverter
AridityIndex
BMICalculator
TripleCalculatorFrame
Custom Component
DrawingPanel
BodyCalculator