杰瑞科技汇

Java基础篇复习,核心考点有哪些?

Java语言程序设计基础篇 - 全面复习指南

第一部分:Java入门与环境搭建

  1. Java是什么?

    Java基础篇复习,核心考点有哪些?-图1
    (图片来源网络,侵删)
    • 定义:一种高级、面向对象、跨平台的编程语言。
    • 特点
      • 简单性:去除了C++中指针、多重继承等复杂特性。
      • 面向对象:封装、继承、多态。
      • 平台无关性:“一次编写,到处运行”(Write Once, Run Anywhere),核心是 Java虚拟机
      • 健壮性:强类型、异常处理、自动内存管理(垃圾回收)。
      • 安全性:防止恶意代码攻击。
      • 多线程:内置对多线程的支持。
  2. JDK, JRE, JVM 的关系

    • JVM (Java Virtual Machine):Java虚拟机,负责执行Java字节码(.class文件),它是实现跨平台的核心。
    • JRE (Java Runtime Environment):Java运行时环境,包含了JVM和Java程序运行所需的核心类库(.jar文件)。运行Java程序只需要JRE
    • JDK (Java Development Kit):Java开发工具包,包含了JRE、编译器(javac)、调试器、文档生成工具(javadoc)等开发工具。开发Java程序需要JDK
    • 关系图JDK 包含 JREJRE 包含 JVM
  3. 环境变量配置

    • JAVA_HOME:指向JDK的安装根目录。
    • PATH:在系统路径中添加 %JAVA_HOME%\bin,使得在任何目录下都可以使用 javacjava 命令。
    • CLASSPATH(旧版概念,现代Java中基本不用) 指定Java虚拟机在何处寻找.class文件和.jar文件,默认是当前目录 。

第二部分:Java基础语法

  1. 程序结构

    • 一个Java源文件(.java)可以包含多个类,但只能有一个 public 类,且文件名必须与 public 类名相同。
    • 程序的入口是 main 方法:public static void main(String[] args) {}
  2. 变量与数据类型

    Java基础篇复习,核心考点有哪些?-图2
    (图片来源网络,侵删)
    • 基本数据类型
      • 整数byte, short, int, long (后缀 L)。
      • 浮点数float (后缀 F), double (默认)。
      • 字符char (单引号,如 'A')。
      • 布尔boolean (true, false)。
    • 引用数据类型
      • :如 String, Scanner
      • 接口:如 Runnable
      • 数组:如 int[]
    • 类型转换
      • 自动类型转换(隐式):从小范围到大范围,如 int -> double
      • 强制类型转换(显式):从大范围到小范围,需要加上括号,如 (int) 3.14,可能会丢失精度。
  3. 运算符

    • 算术运算符:, , , , (取模), , 。
    • 关系运算符>, <, >=, <=, , ,返回 boolean 值。
    • 逻辑运算符&& (与), (或), (非),用于连接 boolean 表达式。
    • 位运算符&, , ^, , <<, >>, >>>,了解即可。
    • 赋值运算符:, , , , 。
    • 三元运算符(条件表达式) ? 表达式1 : 表达式2
  4. 流程控制

    • 顺序结构:默认执行顺序。
    • 选择结构
      • if-else
      • if-else if-else
      • switch (注意:Java 7后,switch 可以支持 String 类型)
    • 循环结构
      • for 循环:明确循环次数。
      • while 循环:不确定循环次数,先判断后执行。
      • do-while 循环:至少执行一次,后判断。
    • breakcontinue
      • break:跳出当前循环或 switch 语句。
      • continue:跳过本次循环,进入下一次循环。

第三部分:面向对象编程

这是Java的核心,务必重点复习。

  1. 类与对象

    Java基础篇复习,核心考点有哪些?-图3
    (图片来源网络,侵删)
    • :是对象的模板或蓝图,定义了对象的属性(成员变量)和行为(成员方法)。
    • 对象:是类的实例,是具体的实体。
    • 创建对象类名 对象名 = new 类名();
  2. 三大特性

    • 封装
      • 目的:隐藏对象的内部状态,只对外暴露有限的接口,提高安全性和可维护性。
      • 实现:将成员变量设为 private,通过 publicgettersetter 方法来访问和修改它们。
    • 继承
      • 目的:实现代码复用,建立类之间的层次关系。
      • 语法class 子类 extends 父类 {}
      • 特点
        • Java是单继承的,一个类只能有一个直接父类。
        • 支持多层继承
        • 子类会继承父类的所有非 private 成员(属性和方法)。
      • super 关键字:在子类中,通过 super 来访问父类的成员变量、方法和构造方法。
    • 多态
      • 目的:允许不同类的对象对同一消息做出响应,提高了代码的灵活性和扩展性。
      • 前提:必须有继承关系;子类必须重写父类的方法;父类引用指向子类对象(父类 对象 = new 子类();)。
      • 体现
        • 方法重写:子类提供一个与父类同名、同参数列表、同返回值类型(或其子类)的方法。
        • 重载:在同一个类中,定义多个同名但参数列表不同的方法,注意:重载与多态无关
      • instanceof 运算符:用于判断一个对象是否属于某个类或其子类的实例。
  3. 其他关键字

    • this:代表当前对象的引用,用于区分成员变量和局部变量,调用当前类的其他构造方法。
    • static:静态的。
      • 静态变量:被所有对象共享,不属于任何一个具体对象,存储在静态区,通过 类名.变量名 访问。
      • 静态方法:不属于任何一个对象,没有 this 引用,只能访问静态成员,通过 类名.方法名() 调用。
      • 静态代码块:在类加载时执行一次,通常用于初始化静态资源。
    • final
      • final 类:不能被继承。
      • final 方法:不能被重写。
      • final 变量:成为常量,一旦赋值不能被修改。
    • abstract
      • abstract 类:不能被实例化,可以包含抽象方法(没有方法体的方法)。
      • abstract 方法:只有声明,没有实现,子类必须重写所有抽象方法。

第四部分:常用API

  1. 字符串

    • String不可变的字符序列,每次修改操作(如 concat, replace)都会创建一个新的 String 对象。
    • StringBuilder / StringBuffer可变的字符序列。
      • StringBuilder:非线程安全,性能更高。单线程环境下首选
      • StringBuffer:线程安全,方法有 synchronized 关键字修饰。
    • 常用方法length(), charAt(), substring(), indexOf(), toLowerCase(), toUpperCase(), equals(), equalsIgnoreCase()
  2. 包装类

    • 将基本数据类型包装成对象,以便在泛型集合等场景中使用。
    • int -> Integer, double -> Double 等。
    • 自动装箱Integer i = 10; (JDK 5+)
    • 自动拆箱int j = i; (JDK 5+)
    • 重要常量Integer.MAX_VALUE, Integer.MIN_VALUE
  3. Math

    • 提供了各种数学运算的静态方法,如 abs(), pow(), sqrt(), random()
  4. DateSimpleDateFormat

    • java.util.Date:表示一个特定的时间点。
    • java.text.SimpleDateFormat:用于格式化和解析日期字符串。
      • format(Date date): 将日期格式化为字符串。
      • parse(String source): 将字符串解析为日期。
  5. Scanner

    • 用于获取用户的键盘输入。
    • Scanner scanner = new Scanner(System.in);
    • nextInt(), nextDouble(), next(), nextLine()

第五部分:异常处理

  1. 什么是异常?

    程序在运行时出现的非正常情况,它会中断程序的正常流程。

  2. 异常体系结构

    • Throwable:所有错误和异常的超类。
      • Error:JVM错误,如 OutOfMemoryError,通常无法恢复,不应被捕获。
      • Exception:程序本身可以处理的异常。
        • 受检异常:编译器会检查,必须用 try-catch 处理或用 throws 声明抛出,如 IOException
        • 非受检异常:编译器不检查,通常是程序逻辑错误,如 NullPointerException, ArrayIndexOutOfBoundsException
  3. 异常处理机制

    • try-catch-finally
      • try:监控可能发生异常的代码块。
      • catch:捕获并处理特定类型的异常。
      • finally:无论是否发生异常,都会执行的代码块,通常用于资源释放(如关闭文件、数据库连接)。
    • throws:在方法签名上声明,该方法可能抛出的异常,将处理责任交给调用者。

第六部分:常用类与工具

  1. 集合框架

    • Collection 接口:单列集合的根接口。
      • List 接口:有序、可重复,元素有索引。
        • ArrayList:基于动态数组实现,查询快,增删慢(非尾部)。最常用
        • LinkedList:基于双向链表实现,增删快(任意位置),查询慢。
      • Set 接口:无序、不可重复。
        • HashSet:基于哈希表实现,存取速度快,不保证元素顺序。
        • TreeSet:基于红黑树实现,可以对元素进行排序(自然排序或自定义排序)。
    • Map 接口:双列集合,存储键值对,键唯一,值可以重复。
      • HashMap:基于哈希表实现,存取速度快。最常用
      • TreeMap:基于红黑树实现,键可以排序。
      • Hashtable:线程安全的旧类,不推荐使用。
    • 遍历方式
      • 迭代器:Iterator
      • 增强for循环:for-each
      • List 特有:get(int index) + 循环
  2. I/O流

    • 按操作数据单位:字节流(InputStream/OutputStream)、字符流(Reader/Writer)。
    • 按流向:输入流、输出流。
    • 按功能:节点流(直接连接数据源)、处理流(包装节点流,提供额外功能)。
    • 常用流
      • FileInputStream / FileOutputStream:文件字节流。
      • FileReader / FileWriter:文件字符流。
      • BufferedReader / BufferedWriter:缓冲字符流,提高读写效率。
      • ObjectInputStream / ObjectOutputStream:对象流,用于序列化和反序列化。
  3. 多线程

    • 创建线程的两种方式
      1. 继承 Thread:重写 run() 方法。
      2. 实现 Runnable 接口:实现 run() 方法,然后将 Runnable 实例作为参数传给 Thread 对象。更推荐,因为避免了单继承的限制。
    • 线程的生命周期:新建 -> 就绪 -> 运行 -> 阻塞 -> 死亡。
    • 线程同步
      • 目的:解决多线程并发访问共享资源时导致的数据不一致问题。
      • 方式
        • synchronized 关键字:可以修饰方法或代码块。
        • Lock 接口(如 ReentrantLock):更灵活,提供了更高级的锁操作。

复习建议

  1. 动手实践:不要只看不练,每个知识点都亲手写代码验证,比如写一个继承和多态的例子,自己实现一个简单的 ArrayList
  2. 画图理解:对于面向对象、集合框架、多线程等复杂概念,画图是最好的方式,画出类图、集合结构图、线程状态图等。
  3. 总结对比:将容易混淆的概念放在一起对比,String vs StringBuilderList vs SetError vs Exception, vs equals()
  4. 做项目:尝试做一个综合性的小项目,比如一个简单的图书管理系统、学生管理系统,这能将零散的知识点串联起来,形成体系。
  5. 回顾错题:如果你做过练习题或考试,一定要回顾错题,分析错误原因,避免再犯。

祝你复习顺利,考试成功!

分享:
扫描分享到社交APP
上一篇
下一篇