姓名 / 学号:王许毅 202402151394


一、前言

本学期系统学习了《Java 程序设计》课程,从 Java 的基础语法到面向对象思想,再到常用类库与异常处理等内容,对 Java 语言的整体结构与编程思想有了较为完整的认识。本文将按照教材章节顺序,对每一章的核心概念、关键知识点进行总结,并结合自己的理解、学习过程中的难点以及解决方法进行反思。


第二章:Java 语言概述与开发环境

1. 核心知识点

  • Java 的特点:

    • 面向对象
    • 跨平台(JVM)
    • 安全性高
    • 自动垃圾回收
  • Java 程序的运行机制

    • .java → 编译成 .class
    • 由 JVM 解释/运行
  • JDK、JRE、JVM 的区别

2. 示例代码

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Java!");
    }
}

3. 学习心得

本章主要是建立对 Java 的整体认知。一开始对 JDK / JRE / JVM 的关系较混乱,后来通过画结构图并实际配置环境,逐渐理解了 Java“一次编译,到处运行”的本质。


第三章:Java 基础语法

1. 核心知识点

  • 数据类型

    • 基本数据类型:int、double、char、boolean 等
    • 引用数据类型:数组、类、接口
  • 变量与常量(final)
  • 运算符

    • 算术运算符
    • 关系运算符
    • 逻辑运算符

2. 示例代码

int a = 10;
double b = 3.14;
final int MAX = 100; // 常量

3. 学习难点与解决方法

难点在于数据类型的自动类型转换与强制类型转换,尤其是在 int 与 double 混合运算时容易出错。通过多写输出语句并观察结果,逐渐形成了对类型转换规则的直觉理解。


第四章:流程控制语句

1. 核心知识点

  • 条件语句:if / if-else / switch
  • 循环语句:for、while、do-while
  • 跳转语句:break、continue

2. 示例代码

for (int i = 1; i <= 5; i++) {
    if (i == 3) {
        continue; // 跳过本次循环
    }
    System.out.println(i);
}

3. 学习心得

流程控制是编程的基础。初期最容易出现的问题是循环条件写错导致死循环。解决方法是:

  • 循环前先手动推演执行过程
  • 使用调试或打印变量观察变化

第五章:数组

1. 核心知识点

  • 一维数组与二维数组
  • 数组的声明、初始化、遍历
  • 数组下标从 0 开始

2. 示例代码

int[] arr = {1, 2, 3, 4};
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

3. 学习难点

数组越界是最常见错误。通过养成始终使用 arr.length 控制循环条件的习惯,有效避免了该问题。


第六章:面向对象编程基础

1. 核心知识点

  • 类与对象
  • 成员变量与成员方法
  • 构造方法
  • this 关键字

2. 示例代码

class Student {
    String name;
    int age;

    Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    void study() {
        System.out.println(name + " 正在学习");
    }
}

3. 个人理解

这一章是 Java 学习的分水岭。我真正理解到:

  • 类是抽象的模板
  • 对象是具体的实例

通过结合现实事物建模,面向对象思想变得更加直观。


第七章:封装、继承与多态

1. 核心知识点

  • 封装:private + getter/setter
  • 继承:extends
  • 方法重写(@Override)
  • 多态:父类引用指向子类对象

2. 示例代码

class Animal {
    void speak() {
        System.out.println("动物叫声");
    }
}

class Dog extends Animal {
    @Override
    void speak() {
        System.out.println("汪汪");
    }
}

3. 学习难点与突破

多态初学时较抽象。通过画类继承关系图并结合运行结果分析,逐渐理解了“编译看左边,运行看右边”的含义。


第八章:接口与抽象类

1. 核心知识点

  • 抽象类:abstract
  • 接口:interface
  • 接口的实现:implements
  • 面向接口编程思想

2. 示例代码

interface USB {
    void open();
    void close();
}

class Mouse implements USB {
    public void open() {
        System.out.println("鼠标开启");
    }
    public void close() {
        System.out.println("鼠标关闭");
    }
}

3. 学习心得

接口让程序更加灵活、可扩展,为后续学习框架开发打下了基础。


第九章:异常处理

1. 核心知识点

  • 异常体系结构
  • try-catch-finally
  • throws 与 throw
  • 自定义异常

2. 示例代码

try {
    int a = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("除数不能为 0");
}

3. 个人理解

异常处理增强了程序的健壮性,也让我逐渐养成提前考虑错误情况的编程习惯。


第十章:常用类与字符串

1. 核心知识点

  • String 的不可变性
  • StringBuilder / StringBuffer
  • Object 类常用方法

2. 示例代码

StringBuilder sb = new StringBuilder();
sb.append("Java").append(" 学习");
System.out.println(sb.toString());

3. 学习心得

理解 String 的不可变性后,明白了为什么在频繁拼接字符串时要使用 StringBuilder,提高了代码性能意识。


十一章:总结与反思

通过本学期的 Java 学习,我不仅掌握了 Java 的基本语法,更重要的是建立了面向对象的编程思想。从最初只关注代码能否运行,到现在开始关注结构、可维护性和扩展性,这是一次重要的转变。

当然,我也清楚地认识到自己在复杂逻辑设计与代码规范方面仍有不足,后续将通过更多项目实践来不断提升自己的 Java 编程能力。

Updated: