100个Java考试核心知识点 | AI生成和翻译
问题:在中国高等教育自学考试中,08553 Java语言程序设计考试的 100 个核心知识点有哪些?
回答:08553 Java语言程序设计考试重点考察 Java 语言基础、Object-Oriented Programming (OOP) 原理以及基础的 GUI/IO 操作。以下是按类别整理的 100 个核心知识点,旨在帮助你进行复习准备。
I. Java 基础与环境
- Java 的起源:由 Sun Microsystems 公司(由 James Gosling 领导)于 1995 年创建。
- 平台无关性:通过“一次编写,到处运行”(Write Once, Run Anywhere,简称 WORA)原则实现。
- JVM (Java Virtual Machine):解释并执行 Java Bytecode 的引擎。
- JRE (Java Runtime Environment):包含 JVM 和运行程序所需的核心类库。
- JDK (Java Development Kit):包含 JRE 以及
javac(编译器)等开发工具。 - Bytecode:编译器生成的
.class文件;它是源代码与机器码之间的中间代码。 - 编译命令:
javac FileName.java。 - 执行命令:
java ClassName。 - Main Method 签名:
public static void main(String[] args)。 - 源文件规则:一个
.java文件只能有一个public类,且文件名必须与该类名匹配。 - 注释:单行注释 (
//)、多行注释 (/* ... */) 和文档注释 (/** ... */)。 - 区分大小写:Java 严格区分大小写(例如
Main和main是不同的)。 - Keywords:保留字(如
class、int、void)不能用作标识符。
II. 数据类型、变量与运算符
- 8 种基本类型 (Primitive Types):
byte、short、int、long、float、double、char、boolean。 - 整数大小:
byte(8-bit)、short(16-bit)、int(32-bit)、long(64-bit)。 - 浮点型:
float(32-bit)、double(64-bit)。默认字面量为double。 - Char 类型:使用 16-bit Unicode;可以表示中文字符。
- Boolean 类型:只有两个值:
true或false(不能为 0 或 1)。 - 类型转换(隐式):小类型到大类型的自动转换(如
int转double)。 - 类型转换(显式):强制转换(如
(int)3.14)。 - 算术运算符:
+、-、*、/、%(取模)。 - 关系运算符:
==、!=、>、<、>=、<=。 - 逻辑运算符:
&&(AND)、||(OR)、!(NOT)。 - 短路现象:如果结果已确定,
&&和||会停止后续计算。 - 赋值运算符:
=、+=、-=等。 - 自增/自减:
++i(先增后用)与i++(先用后增)。
III. 控制结构
- if-else:基础条件分支。
- switch-case:支持
byte、short、char、int、String(自 Java 7 起)及 Enum。 - switch 中的 break:防止“贯穿” (fall-through) 到下一个 case。
- while 循环:执行前检查条件。
- do-while 循环:执行后检查条件(至少运行一次)。
- for 循环:最适合已知迭代次数的情况。
- 增强型 for 循环:
for (Type var : collection)用于数组和集合。 - break:完全退出当前循环。
- continue:跳过当前迭代的剩余部分,进入下一次迭代。
IV. 数组处理
- 数组定义:存储相同类型元素的固定大小容器。
- 索引:从
0开始,到length - 1结束。 - 初始化:
int[] arr = new int[5];或int[] arr = {1, 2, 3};。 - Length 属性:
arr.length返回元素个数。 - 异常:访问
arr[length]会触发ArrayIndexOutOfBoundsException。 - 多维数组:数组的数组(如
int[][] matrix)。
V. 面向对象程序设计 (OOP) 核心
- Class (类):对象的蓝图或模板。
- Object (对象):类的实例。
- Encapsulation (封装):将数据(字段)和方法捆绑在一起;使用
private实现数据隐藏。 - Inheritance (继承):使用
extends从父类继承属性。 - Polymorphism (多态):一个对象采取多种形式的能力(Overloading 与 Overriding)。
- Abstraction (抽象):使用
abstract类和interface定义“做什么”而非“怎么做”。 - Constructor (构造方法):初始化对象的特殊方法;无返回值类型,且与类名相同。
- 默认构造方法:若未定义构造方法,Java 会自动提供。
- this 关键字:指向当前对象实例。
- super 关键字:指向父类实例或构造方法。
- Method Overloading (方法重载):同名但参数不同(在同一个类中)。
- Method Overriding (方法重写):子类中具有相同的名称和参数(配合
@Override使用)。 - 访问修饰符:
public、protected、default(无修饰符)和private。 - private:仅在同类中可见。
- public:随处可见。
- protected:在同包和子类中可见。
- final (变量):常量值。
- final (方法):不能被重写。
- final (类):不能被继承(例如
String类)。 - static (字段):由类的所有实例共享。
- static (方法):属于类而非对象;不能访问非静态成员。
VI. 接口与抽象类
- Abstract Class:不能被实例化;可以有抽象方法和具体方法。
- Interface:一种契约;(Java 8 之前)仅包含常量和抽象方法。
- 多重继承:一个类可以实现多个 Interface,但只能继承一个父类。
- implements 关键字:用于实现接口。
VII. 字符串处理
- String:Immutable(创建后值不可更改)。
- StringBuffer:Mutable,线程安全(同步)。
- StringBuilder:Mutable,速度更快,但非线程安全。
- 字符串比较:内容比较始终使用
.equals(),而非==(后者比较内存地址)。 - 常用方法:
length()、charAt()、substring()、indexOf()、trim()。
VIII. 异常处理
- Throwable:所有 Error 和 Exception 的根类。
- Error:程序不应尝试捕获的严重问题(如
OutOfMemoryError)。 - Exception:分为 Checked 和 Unchecked。
- Checked Exceptions:编译时检查(如
IOException)。必须使用try-catch或throws。 - Unchecked (Runtime) Exceptions:运行时发生(如
NullPointerException)。 - try 块:包含可能抛出异常的代码。
- catch 块:处理异常。
- finally 块:无论是否发生异常都会执行的代码(用于关闭资源)。
- throw:用于手动触发异常。
- throws:在方法签名中声明,表示该方法可能抛出异常。
IX. Java I/O 系统
- Stream (流):数据的序列。
- Byte Streams:
InputStream、OutputStream(用于图像、二进制文件)。 - Character Streams:
Reader、Writer(用于文本文件)。 - File 类:用于操作文件属性和目录。
- Buffered Streams:通过减少 I/O 操作次数来提高性能。
- Serialization (序列化):使用
Serializable接口将对象转换为字节流。
X. GUI 与事件处理 (AWT/Swing)
- AWT (Abstract Window Toolkit):重量级、平台相关的组件。
- Swing:轻量级、平台无关的组件(以 ‘J’ 开头,如
JButton)。 - JFrame:GUI 应用程序的主窗口。
- Layout Managers (布局管理器):
FlowLayout、BorderLayout、GridLayout。 - 事件源 (Event Source):产生事件的组件(如按钮)。
- 事件监听器 (Event Listener):处理事件的接口(如
ActionListener)。 - 事件处理器 (Event Handler):监听器内部的方法(如
actionPerformed)。
XI. 多线程与集合
- 线程创建:继承
Thread类或实现Runnable接口。 - 线程启动:调用
.start()方法,这会触发.run()。 - Synchronization (同步):使用
synchronized关键字防止数据竞态。 - Collection 接口:集合层次结构的根(List, Set)。
- ArrayList:动态数组,允许重复,保持顺序。
- HashMap:存储键值对;不允许重复的键。