Java Fundamentals - The Java Language

01-Introduction and Setting up Your Environment

Power to work on Desktop, Mobile, Servers, IoT

Java = Programming Language + Runtime Environment

JRE

JDK

Install JDK

Netbeans, IntelliJ, Eclipse

02-Creating a Simple App

Create new java project in intellij

Select JDK

running project

Running from command line

statement structure and whitespaces

setting env variables

comments

comments for javadocs

packages

03-Variables, Data Types and Math Operators

Variables

variables naming rules

primitive data types

arithmetic operators

operator precedence

type conversion

04-Conditional Logic, Looping and Arrays

Relational Operators

conditional assignment

If-else statement

block statements and variable scope

Logical operators

looping

Arrays

for-each loop

Switch statement

05-Representing Complex Types with Classes

classes

encapsulation

access modifiers

naming classes

accessor & mutator

06-Class Initializers & Constructors

field initial state

constructor initialization

chaining constructors

initialization block

07-A closer look at parameters

pass by values & pass by ref

overloading

08-Class Inheritance

extends keyword

member hiding and overriding

Object class and its method

object equals method

super keyword

final and abstract

constructor inheritance and super and this keyword

09-More about Datatypes

String class

String equality

Stringbuilder class

Primitive wrapper classes

10-Exception Handling

Try-catch-finally

exception class hierarchy

throw custom exception

11-Working with Packages

Whats a package?

Package creates a namespace

Type imports

Access modifiers - default, public, private, protected

Creating JAR files