Java 2023

宣昊

目录

  • 1 Fundamentals
    • 1.1 Setting Up the Development Environment
    • 1.2 Anatomy of a Java Program
    • 1.3 Your First Java Program
    • 1.4 How Java Code Gets Executed
    • 1.5 Interesting Facts about Java
    • 1.6 Course Structure
  • 2 Types
    • 2.1 Introduction
    • 2.2 Variables
    • 2.3 Primitive Types
    • 2.4 Reference Types
    • 2.5 Primitive vs Reference Types
    • 2.6 Strings
    • 2.7 Escape Sequences
    • 2.8 Arrays
    • 2.9 Multi-dimensional Arrays
    • 2.10 Constants
    • 2.11 Arithmetic Expressions
    • 2.12 Order of Operations
    • 2.13 Casting
    • 2.14 The Math Class
    • 2.15 Formatting Numbers
    • 2.16 Reading Input
    • 2.17 Project Mortgage Calculator
    • 2.18 Solution
    • 2.19 Summary
  • 3 Control Flow
    • 3.1 Introduction
    • 3.2 Comparison Operators
    • 3.3 Logical Operators
    • 3.4 If Statements
    • 3.5 Simplifying If Statements
    • 3.6 The Ternary Operator
    • 3.7 Switch Statements
    • 3.8 Exercise FizzBuzz
    • 3.9 For Loops
    • 3.10 While Loops
    • 3.11 Do..While Loops
    • 3.12 Break and Continue Statements
    • 3.13 For-Each Loop
    • 3.14 Project Mortgage Calculator
    • 3.15 Solution
    • 3.16 Summary
  • 4 Clean Coding
    • 4.1 Introduction
    • 4.2 Clean Coding
    • 4.3 Creating Methods
    • 4.4 Refactoring
    • 4.5 Extracting Methods
    • 4.6 Refactoring Repetitive Patterns
    • 4.7 Project Payment Schedule
    • 4.8 Solution
    • 4.9 Refactoring the Code
    • 4.10 Summary
  • 5 Debugging and Deploying Applications
    • 5.1 Introduction
    • 5.2 Types of Errors
    • 5.3 Common Syntax Errors
    • 5.4 Debugging Java Applications
    • 5.5 Packaging Java Applications
    • 5.6 Course Wrap Up
  • 6 Objectoriented Programming
    • 6.1 Introduction
    • 6.2 Programming Paradigms
    • 6.3 Benefits of Objectoriented Programming
    • 6.4 Course Structure
  • 7 Classes
    • 7.1 Introduction
    • 7.2 Classes and Objects
    • 7.3 Creating Classes
    • 7.4 Creating Objects
    • 7.5 Memory Allocation
    • 7.6 Procedural Programming
    • 7.7 Encapsulation
    • 7.8 Getters and Setters
    • 7.9 Abstraction
    • 7.10 Coupling
    • 7.11 Reducing Coupling
    • 7.12 Constructors
    • 7.13 Method Overloading
    • 7.14 Constructor Overloading
    • 7.15 Static Members
    • 7.16 Summary
  • 8 Refactoring Towards an Objectoriented Design
    • 8.1 Introduction
    • 8.2 The Problem
    • 8.3 What Classes Do We Need?
    • 8.4 Extracting the Console Class
    • 8.5 Overloading Methods
    • 8.6 Extracting the MortgageReport Class
    • 8.7 Extracting the MortgageCalculator Class
    • 8.8 Moving Away from Static Members
    • 8.9 Moving Static Fields
    • 8.10 Extracting Duplicate Logic
    • 8.11 Extracting getRemainingBalances
    • 8.12 One Last Touch
  • 9 Inheritance
    • 9.1 Introduction
    • 9.2 Inheritance
    • 9.3 The Object Class
    • 9.4 Constructors and Inheritance
    • 9.5 Access Modifiers
    • 9.6 Overriding Methods
    • 9.7 Upcasting and Downcasting
    • 9.8 Comparing Objects
    • 9.9 Polymorphism
    • 9.10 Abstract Classes and Methods
    • 9.11 Final Classes and Methods
    • 9.12 Deep Inheritance Hierarchies
    • 9.13 Multiple Inheritance
    • 9.14 Summary
  • 10 Interfaces
    • 10.1 Introduction
    • 10.2 What are Interfaces
    • 10.3 Tightlycoupled Code
    • 10.4 Creating an Interface
    • 10.5 Dependency Injection
    • 10.6 Constructor Injection
    • 10.7 Setter Injection
    • 10.8 Method Injection
    • 10.9 Interface Segregation Principle
    • 10.10 Project MyTube Video Platform
    • 10.11 Solution
    • 10.12 Fields
    • 10.13 Static Methods
    • 10.14 Private Methods
    • 10.15 Interfaces and Abstract Classes
    • 10.16 When to Use Interfaces
    • 10.17 Course Wrap Up
Introduction