Course Introduction
  • Why Yet Another Java Course?
  • Course Structure & Guidance for Doing this Course
  • Schedule for College Students
Java: A High-level Overview
  • Chapter Introduction
  • What is Java & Who is Using It?
  • Story behind Java's Creation ~ A Brief History
  • Compilation
  • Platform Dependency + Demo
  • Interpreter
  • Platform Independence in Java + Demo
  • Java Virtual Machine
  • An Overview of Java SE
  • Java SE Release Cycles & Release History
  • Installing JDK 17 on Windows
  • Installing Java on Mac
  • Installing Java on Linux
  • Setting Classpath Environment Variable
  • Writing First Java Program + Demo
  • Conclusion ~ Chapter 1
  • Chapter 2 Quiz
  • Important Q&A Discussions!
Classes, Objects and their Members
  • Chapter Introduction
  • Class & Objects
  • Demo: Absolute Java Basics
  • Variables: Introduction
  • Demo: Declaring & Re-initializing Variables
  • Currency Converter - Creating a Class with Variables
  • Variables: Primitive Types
  • Primitive Variables: Integers + Demo
  • Demo: Other Integer Literal Formats
  • Primitive Variables: Floating-point Numbers + Demo
  • Demo: Floating-point Pitfalls
  • Primitive Variables: Character Data Type + Demo
  • Demo: Alternate ways to initialize char variables
  • Demo: Primitive Variables: Boolean Data Type
  • Quiz: Primitive Variables
  • Demo: Variable Kinds - Instance, Static, and Local Variables
  • Cafe Order Processor ~ Putting Instance & Static Variables to Work
  • Demo: Multi-variable Declaration Statements
  • Variables: Type Casting + Demo
  • Variables: Object References + Demo
  • Statements + Demo
  • Arrays + Demo
  • Currency Converter - Array Creation & Accessing its Elements
  • 2D Arrays
  • 3D Arrays + Demo
  • Methods: Introduction + Demo
  • Method Types ~ Instance & Static Methods + Demo
  • Summary on Accessibility of Members from Static & Instance Methods
  • Currency Converter ~ Invoking Methods of an Object
  • How Data is Passed to Methods in Java? + Demo
  • Method Overloading + Demo
  • Methods: varargs + Demo
  • Brief Summary on varargs Parameter
  • Constructors + Demo
  • Constructor Overloading + Demo
  • Demo: Constructor Overloading ~ Alternate way of delegating
  • Minor Note on Method Invocation & Implicit Narrowing Conversion
  • Demo: this Reference
  • Demo: Reinitializing Object References ~ More Brainstorming! (Incl. Assignment)
  • Minor Note on Executing StudentTest and a Java 11 Feature
  • Implementing Instructor Class ~ Manipulating Arrays with Object References
  • Review of Exercise Solution with Best Practices
  • Cafe Order Processor ~ Taking Customer Orders via Constructors
  • Conclusion
  • Chapter Quiz
  • Important Q&A Discussions!
Method Building Blocks: Operators & Control-flow Statements
  • Chapter Introduction
  • Operators
  • Arithmetic Operators + Demo
  • Arithmetic Operation Rules + Demo
  • Quiz: Arithmetic Operators
  • Note on Student Class
  • Demo: Comparison Operators
  • Logical Operators with Operator Precedence + Demo
  • Car Price Estimator ~ Coding Exercise for Comparison & Logical Operators
  • Car Price Estimator ~ Putting Comparison & Logical Operators into Action
  • Car Price Estimator - Exercise Solution Review
  • Bitwise Operators + Demo
  • Quick Note on Bitwise Operators with Boolean Operands
  • Bit Shift Operators
  • Quiz: Bitwise & Bit Shift Operators
  • Control-flow: Demo: if-statement
  • Switch Statement: Introduction + Demo
  • Switch Restrictions + Demo
  • Cafe Order Processor ~ Menu with Switch Statement
  • Arrow Labels in Switch (Java 14)
  • Switch Expressions (Java 14)
  • Cafe Order Processor ~ Menu with Switch Expression
  • Quiz: switch Statement
  • Control-flow: Ternary + Demo
  • Additional Notes on Ternary Operator
  • Control-flow: for Statement + Demo
  • Demo: More for Statement ...
  • Another Look at Nested for Statement
  • Demo: for-each Statement