Java 第一章复习与练习

教材参照:《Java 2 实用教程(第6版)题库+微课视频版》,耿祥义、张跃平主编,清华大学出版社。

一、第一章速记提纲

1. Java 是什么

Java 既是一门程序设计语言,也是一套由软件和规范组成的技术体系。

常见应用方向:

  • 企业级系统开发
  • Web 后端开发
  • Android 应用开发
  • 大数据平台与中间件
  • 嵌入式、科学计算等领域

2. Java 的发展与口号

Java 起源于 Sun 公司 James Gosling 领导的 Green Project,前身叫 Oak,1995 年以 Java 名称正式发布。

重要口号:Write once, Run anywhere。

考点理解:不是源代码直接跨平台,而是 .java 源文件先编译成平台无关的 .class 字节码,再由不同平台上的 JVM 运行。

3. Java 语言特性

常考特性:

  • 简单性:相对 C++ 简化,去掉复杂指针运算、头文件、结构、联合、操作符重载等。
  • 面向对象:程序围绕对象组织。
  • 分布式:提供网络相关类库,适合网络环境。
  • 健壮性:强类型、异常处理、自动内存管理等提高可靠性。
  • 安全性:面向网络环境设计,有安全机制。
  • 体系结构中立:编译生成与具体 CPU/操作系统无关的字节码。
  • 可移植性:基本数据类型大小等由语言规范明确规定。
  • 解释性:字节码由 JVM 解释或即时编译执行。
  • 高性能:JIT 等机制提升执行效率。
  • 多线程:语言和类库支持并发编程。
  • 动态性:运行时可加载类、反射等能力。

4. 第一个 Java 程序结构

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

结构关系:

  • 类存在于源文件中。
  • 方法存在于类中。
  • 语句存在于方法中。

常考规则:

  • Java 源文件扩展名是 .java
  • 编译后生成 .class 字节码文件。
  • 一个源文件中最多只能有一个 public 类。
  • 如果源文件中有 public 类,文件名必须和该 public 类名完全一致,包括大小写。
  • 程序入口通常写作 public static void main(String[] args)

5. 编译与运行

常用命令:

javac HelloWorld.java
java HelloWorld

注意:

  • javac 编译 .java 文件。
  • java 运行类名,不写 .class 后缀。
  • 如果提示找不到 javacjava,通常是 JDK 安装或环境变量配置问题。

6. JDK、JRE、JVM

  • JDK:Java Development Kit,Java 开发工具包,包含 JRE、编译器 javac、调试工具等。
  • JRE:Java Runtime Environment,Java 运行时环境,包含 JVM 和核心类库。
  • JVM:Java Virtual Machine,Java 虚拟机,负责运行字节码。

关系速记:

JDK 包含 JRE
JRE 包含 JVM
JVM 运行 .class 字节码

7. 注释

三种注释:

// 单行注释

/*
 多行注释
*/

/**
 * 文档注释
 */

常考点:

  • 注释不参与编译。
  • 编译后的 .class 文件不包含普通注释信息。
  • 多行注释不能嵌套。
  • 文档注释可被 javadoc 工具解析生成 API 文档。

8. 标识符

标识符是程序员给类、方法、变量等取的名字。

硬性规则:

  • 可由字母、数字、下划线 _、美元符号 $ 等组成。
  • 不能以数字开头。
  • 不能是 Java 关键字。
  • 严格区分大小写。
  • truefalsenull 不是普通标识符,不能拿来命名。

命名建议:

  • 类名:大驼峰,如 HelloWorld
  • 方法名、变量名:小驼峰,如 studentName
  • 常量名:通常全大写加下划线,如 MAX_VALUE

二、期末高频考法

  1. 判断 Java 跨平台的真正原因。
  2. 写出或改正 main 方法。
  3. 区分 javacjava 命令。
  4. 判断文件名、类名、public 类是否匹配。
  5. 判断标识符是否合法。
  6. 区分 JDK、JRE、JVM 的包含关系和作用。
  7. 判断注释是否参与编译,以及多行注释能否嵌套。
  8. 说出 Java 相对 C/C++ 的特点。
  9. 根据错误信息判断常见原因,如分号错误、类名错误、环境变量错误。
  10. 解释 .java.class、字节码、JVM 的关系。

三、易错知识点

  1. java HelloWorld.class 是错的,运行时写 java HelloWorld
  2. javac HelloWorld 是错的,编译时要写完整文件名 javac HelloWorld.java
  3. 文件名必须和 public 类名一致,不是和 main 方法名一致。
  4. Mainmain 不一样,Java 区分大小写。
  5. public static void mian(String[] args) 拼错了,mian 不是入口方法。
  6. 中文分号 不是 Java 语句结束符,必须用英文分号 ;
  7. 注释不是越多越好,注释要准确,代码改了注释也要改。
  8. 多行注释 /* */ 不能嵌套另一个 /* */
  9. $name 在语法上合法,但日常命名不推荐随便使用 $
  10. class 是关键字,不能作为变量名或类名。
  11. String 不是关键字,但入口方法参数中的 String[] args 通常要按规范写。
  12. Java 的跨平台依赖 JVM,不是所有平台直接运行同一个可执行文件。
  13. JRE 只能运行 Java 程序,开发编译一般需要 JDK。
  14. 一个 .java 文件可以有多个类,但最多只有一个 public 类。
  15. 没有 public 类时,文件名不必和类名一致;但考试常考的是有 public 类的情况。

四、练习题与答案解析

A. 课件标识符题

判断下面哪些标识符合法:

A. class
B. HelloWorld
C. main
D. 123abc
E. ARRAY_SIZE
F. $name
G. name:jim

答案:B、C、E、F。

解析:

  • A class:非法,class 是关键字。
  • B HelloWorld:合法。
  • C main:合法,main 不是关键字。
  • D 123abc:非法,不能以数字开头。
  • E ARRAY_SIZE:合法。
  • F $name:合法,但日常命名不推荐滥用 $
  • G name:jim:非法,冒号不能作为普通标识符组成部分。

B. 填空题

  1. Java 源文件的扩展名是 ________
    答案:.java

  2. Java 源文件经过 ________ 命令编译后生成 .class 文件。
    答案:javac

  3. .class 文件中保存的是与平台无关的 ________
    答案:字节码

  4. Java 程序通常由 ________ 负责运行字节码。
    答案:JVM

  5. JDK 的英文全称是 ________
    答案:Java Development Kit

  6. JRE 的英文全称是 ________
    答案:Java Runtime Environment

  7. JVM 的英文全称是 ________
    答案:Java Virtual Machine

  8. Java 程序的常见入口方法名是 ________
    答案:main

  9. Java 中单行注释以 ________ 开头。
    答案://

  10. Java 中多行注释以 ________ 开始,以 ________ 结束。
    答案:/**/

  11. 文档注释以 ________ 开始,以 ________ 结束。
    答案:/***/

  12. 一个 Java 源文件中最多只能有 ________public 类。
    答案:1

  13. 如果一个类被 public 修饰,则源文件名必须与 ________ 完全一致。
    答案:public 类名

  14. Java 标识符不能以 ________ 开头。
    答案:数字

  15. Java 语言严格区分 ________
    答案:大小写

C. 判断题

  1. Java 是纯解释型语言,源代码不需要编译。
    答案:错。Java 源代码需要先编译成字节码。

  2. Java 的跨平台性主要依赖 JVM。
    答案:对。

  3. javac 命令用于运行 Java 程序。
    答案:错。javac 用于编译。

  4. java 命令运行程序时需要带 .class 后缀。
    答案:错。运行时写类名,不带 .class

  5. 一个 Java 源文件中可以有多个类。
    答案:对。

  6. 一个 Java 源文件中可以有多个 public 类。
    答案:错。最多一个 public 类。

  7. 多行注释可以随意嵌套使用。
    答案:错。多行注释不能嵌套。

  8. 注释会参与编译,并保存在 .class 文件中。
    答案:错。注释不参与编译。

  9. HelloWorldhelloworld 是两个不同的标识符。
    答案:对。

  10. 123name 是合法标识符。
    答案:错。不能以数字开头。

  11. _score 是合法标识符。
    答案:对。

  12. public static void main(String[] args) 是常见入口方法写法。
    答案:对。

D. 单项选择题

  1. 下列哪个文件通常是 Java 源文件?
    A. HelloWorld.class B. HelloWorld.java C. HelloWorld.exe D. HelloWorld.txt
    答案:B。Java 源文件扩展名是 .java

  2. 编译 Java 源程序的命令是:
    A. java B. javac C. javadoc D. jar
    答案:B。javac 负责编译。

  3. 运行 HelloWorld.class 对应程序的正确命令是:
    A. java HelloWorld.class B. javac HelloWorld C. java HelloWorld D. run HelloWorld
    答案:C。运行时写类名,不带 .class

  4. 下列关于 JDK、JRE、JVM 的关系正确的是:
    A. JVM 包含 JDK B. JRE 包含 JDK C. JDK 包含 JRE,JRE 包含 JVM D. 三者完全相同
    答案:C。

  5. Java 实现跨平台的关键是:
    A. 源代码完全相同 B. 字节码和 JVM 机制 C. 所有电脑 CPU 相同 D. Java 不需要编译
    答案:B。

  6. 下列哪个是合法标识符?
    A. 2abc B. class C. student_name D. name-age
    答案:C。A 不能以数字开头,B 是关键字,D 含有减号。

  7. 下列哪个不是 Java 注释形式?
    A. // 注释 B. /* 注释 */ C. /** 注释 */ D. <!-- 注释 -->
    答案:D。<!-- --> 是 HTML/XML 风格注释。

  8. 对于 public class Test,源文件名应为:
    A. Main.java B. test.java C. Test.java D. public.java
    答案:C。文件名必须和 public 类名一致,大小写也要一致。

  9. 下列哪个说法正确?
    A. main 可以写成 mian
    B. Java 不区分大小写
    C. Java 语句通常以英文分号结束
    D. 中文分号和英文分号都可以
    答案:C。

  10. 文档注释通常可以由哪个工具提取生成说明文档?
    A. javac B. java C. javadoc D. jvm
    答案:C。

  11. 下列哪个命名更符合类名规范?
    A. studentname B. StudentName C. studentName D. STUDENT_NAME
    答案:B。类名通常使用大驼峰。

  12. 下列哪个命名更符合变量名规范?
    A. StudentAge B. studentAge C. STUDENTAGE D. student-age
    答案:B。变量名通常使用小驼峰。

  13. 下列关于 .class 文件说法正确的是:
    A. 它是 Java 源文件
    B. 它是字节码文件
    C. 它只能在 Windows 上运行
    D. 它由 java 命令编译得到
    答案:B。

  14. 下列哪个属于 Java 关键字?
    A. main B. String C. class D. println
    答案:C。

  15. 下列哪个问题最可能导致系统提示无法识别 javac 命令?
    A. 类名太长
    B. 没有安装或配置 JDK 环境
    C. 注释写错
    D. 字符串内容写错
    答案:B。

E. 标识符判断题

判断下列标识符是否合法,并说明原因。

  1. abc
    答案:合法。

  2. _name
    答案:合法。

  3. $value
    答案:合法,但不推荐普通命名随意使用 $

  4. 9score
    答案:非法,不能以数字开头。

  5. class
    答案:非法,关键字。

  6. Class
    答案:合法。Java 区分大小写,Class 不是关键字。

  7. student-name
    答案:非法,减号不能出现在标识符中。

  8. studentName
    答案:合法。

  9. true
    答案:非法,布尔字面量不能作为标识符。

  10. MAX_VALUE
    答案:合法。

  11. name:jim
    答案:非法,冒号不能出现在普通标识符中。

  12. void
    答案:非法,关键字。

F. 改错题

  1. 找出下面程序的问题。
public class Hello {
    public static void mian(String[] args) {
        System.out.println("Hello")}
}

答案:

  • mian 拼错,应为 main
  • System.out.println("Hello"); 结尾是中文分号,应改成英文分号 ;

修改后:

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello");
    }
}
  1. 文件名为 Test.java,代码如下,能否正常编译?为什么?
public class Student {
    public static void main(String[] args) {
        System.out.println("OK");
    }
}

答案:不能正常编译。因为文件名是 Test.java,但 public 类名是 Student。应改为 Student.java,或把类名改成 Test

  1. 找出下面命令的问题。
javac HelloWorld
java HelloWorld.class

答案:

  • 编译时应写 javac HelloWorld.java
  • 运行时应写 java HelloWorld,不带 .class
  1. 判断下面注释是否正确。
/*
  第一层注释
  /*
    第二层注释
  */
*/

答案:不正确。多行注释不能嵌套,多出来的 */ 会导致语法错误。

  1. 下面代码能否作为 Java 程序入口?为什么?
public static int main(String[] args) {
    return 0;
}

答案:不能作为标准入口方法。入口方法返回值应为 void,不能是 int

  1. 下面代码能否正常作为入口方法?为什么?
public static void Main(String[] args) {
    System.out.println("Hello");
}

答案:不能作为标准入口方法。Java 区分大小写,入口方法名应为 main,不是 Main

G. 简答题

  1. 简述 Java 程序从源文件到运行的过程。
    参考答案:Java 程序先写在 .java 源文件中,通过 javac 编译生成 .class 字节码文件,再由 java 命令启动 JVM 运行字节码。

  2. 简述 JDK、JRE、JVM 的区别和联系。
    参考答案:JDK 是开发工具包,包含 JRE 和编译调试工具;JRE 是运行时环境,包含 JVM 和核心类库;JVM 是虚拟机,负责运行 .class 字节码。

  3. 为什么说 Java 具有跨平台性?
    参考答案:Java 源程序编译后生成平台无关的字节码,不同操作系统安装对应 JVM 后,就可以运行同一份字节码,因此 Java 具有跨平台性。

  4. 简述 Java 与 C/C++ 相比的一些特点。
    参考答案:Java 相对 C/C++ 更简单,去掉复杂指针运算等机制;强调面向对象;有自动内存管理;基本数据类型大小固定;通过 JVM 实现较好的可移植性和安全性。

  5. Java 中三种注释分别是什么?各自适合什么场景?
    参考答案:单行注释 // 适合简短说明;多行注释 /* */ 适合临时说明多行内容;文档注释 /** */ 常写在类或方法前,可被 javadoc 工具生成文档。

  6. 什么是标识符?合法标识符需要满足哪些规则?
    参考答案:标识符是程序员给类、方法、变量等取的名字。合法标识符可以由字母、数字、下划线、美元符号等组成,不能以数字开头,不能是关键字,严格区分大小写。

H. 编程题

  1. 编写一个 HelloWorld 程序,在控制台输出 Hello Java

参考答案:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello Java");
    }
}
  1. 编写一个类 StudentInfo,在 main 方法中输出你的姓名、专业、学号。

参考答案:

public class StudentInfo {
    public static void main(String[] args) {
        System.out.println("姓名:张三");
        System.out.println("专业:计算机科学与技术");
        System.out.println("学号:20260001");
    }
}
  1. 编写一个程序,要求至少包含单行注释、多行注释、文档注释各一种。

参考答案:

/**
 * 注释示例程序。
 */
public class CommentDemo {
    public static void main(String[] args) {
        // 输出一句话
        System.out.println("Java comments");

        /*
         多行注释:
         这里可以写多行说明。
        */
    }
}

五、期末答题模板

1. Java 跨平台原因

Java 源文件先由 javac 编译成平台无关的 .class 字节码文件,再由不同平台上的 JVM 解释或即时编译执行,所以能实现“一次编写,到处运行”。

2. JDK/JRE/JVM 关系

JDK 是开发工具包,包含 JRE 和开发工具;JRE 是运行环境,包含 JVM 和核心类库;JVM 是虚拟机,负责运行字节码。

3. Java 程序运行流程

编写 .java 源文件,使用 javac 编译生成 .class 字节码文件,再使用 java 类名 启动 JVM 运行程序。

六、今晚复习建议

  1. 先背会 JDK、JRE、JVM 关系。
  2. 手写 3 遍 main 方法。
  3. 在命令行亲自敲一次 javacjava
  4. 重点刷:判断题、单选题、标识符判断题、改错题。
  5. 错题集中看:标识符、文件名类名匹配、编译运行命令。

Java 第一章复习与练习(题目答案合并版)

教材参照:《Java 2 实用教程(第6版)题库+微课视频版》,耿祥义、张跃平主编,清华大学出版社。

整理说明:这份文档把“题目”和“答案解析”放在同一个文件中,方便你打开一份就能复习。前半部分是知识点,后半部分是练习题,每组题后面直接给答案。

一、第一章速记提纲

1. Java 是什么

Java 既是一门程序设计语言,也是一套由软件和规范组成的技术体系。

常见应用方向:

  • 企业级系统开发
  • Web 后端开发
  • Android 应用开发
  • 大数据平台与中间件
  • 嵌入式、科学计算等领域

2. Java 的发展与口号

Java 起源于 Sun 公司 James Gosling 领导的 Green Project,前身叫 Oak,1995 年以 Java 名称正式发布。

重要口号:Write once, Run anywhere。

考点理解:不是源代码直接跨平台,而是 .java 源文件先编译成平台无关的 .class 字节码,再由不同平台上的 JVM 运行。

3. Java 语言特性

常考特性:

  • 简单性:相对 C++ 简化,去掉复杂指针运算、头文件、结构、联合、操作符重载等。
  • 面向对象:程序围绕对象组织。
  • 分布式:提供网络相关类库,适合网络环境。
  • 健壮性:强类型、异常处理、自动内存管理等提高可靠性。
  • 安全性:面向网络环境设计,有安全机制。
  • 体系结构中立:编译生成与具体 CPU/操作系统无关的字节码。
  • 可移植性:基本数据类型大小等由语言规范明确规定。
  • 解释性:字节码由 JVM 解释或即时编译执行。
  • 高性能:JIT 等机制提升执行效率。
  • 多线程:语言和类库支持并发编程。
  • 动态性:运行时可加载类、反射等能力。

4. 第一个 Java 程序结构

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

结构关系:

  • 类存在于源文件中。
  • 方法存在于类中。
  • 语句存在于方法中。

常考规则:

  • Java 源文件扩展名是 .java
  • 编译后生成 .class 字节码文件。
  • 一个源文件中最多只能有一个 public 类。
  • 如果源文件中有 public 类,文件名必须和该 public 类名完全一致,包括大小写。
  • 程序入口通常写作 public static void main(String[] args)

5. 编译与运行

常用命令:

javac HelloWorld.java
java HelloWorld

注意:

  • javac 编译 .java 文件。
  • java 运行类名,不写 .class 后缀。
  • 如果提示找不到 javacjava,通常是 JDK 安装或环境变量配置问题。

6. JDK、JRE、JVM

  • JDK:Java Development Kit,Java 开发工具包,包含 JRE、编译器 javac、调试工具等。
  • JRE:Java Runtime Environment,Java 运行时环境,包含 JVM 和核心类库。
  • JVM:Java Virtual Machine,Java 虚拟机,负责运行字节码。

关系速记:

JDK 包含 JRE
JRE 包含 JVM
JVM 运行 .class 字节码

7. 注释

三种注释:

// 单行注释

/*
 多行注释
*/

/**
 * 文档注释
 */

常考点:

  • 注释不参与编译。
  • 编译后的 .class 文件不包含普通注释信息。
  • 多行注释不能嵌套。
  • 文档注释可被 javadoc 工具解析生成 API 文档。

8. 标识符

标识符是程序员给类、方法、变量等取的名字。

硬性规则:

  • 可由字母、数字、下划线 _、美元符号 $ 等组成。
  • 不能以数字开头。
  • 不能是 Java 关键字。
  • 严格区分大小写。
  • truefalsenull 不是普通标识符,不能拿来命名。

命名建议:

  • 类名:大驼峰,如 HelloWorld
  • 方法名、变量名:小驼峰,如 studentName
  • 常量名:通常全大写加下划线,如 MAX_VALUE

二、期末高频考法

  1. 判断 Java 跨平台的真正原因。
  2. 写出或改正 main 方法。
  3. 区分 javacjava 命令。
  4. 判断文件名、类名、public 类是否匹配。
  5. 判断标识符是否合法。
  6. 区分 JDK、JRE、JVM 的包含关系和作用。
  7. 判断注释是否参与编译,以及多行注释能否嵌套。
  8. 说出 Java 相对 C/C++ 的特点。
  9. 根据错误信息判断常见原因,如分号错误、类名错误、环境变量错误。
  10. 解释 .java.class、字节码、JVM 的关系。

三、易错知识点

  1. java HelloWorld.class 是错的,运行时写 java HelloWorld
  2. javac HelloWorld 是错的,编译时要写完整文件名 javac HelloWorld.java
  3. 文件名必须和 public 类名一致,不是和 main 方法名一致。
  4. Mainmain 不一样,Java 区分大小写。
  5. public static void mian(String[] args) 拼错了,mian 不是入口方法。
  6. 中文分号 不是 Java 语句结束符,必须用英文分号 ;
  7. 注释不是越多越好,注释要准确,代码改了注释也要改。
  8. 多行注释 /* */ 不能嵌套另一个 /* */
  9. $name 在语法上合法,但日常命名不推荐随便使用 $
  10. class 是关键字,不能作为变量名或类名。
  11. String 不是关键字,但入口方法参数中的 String[] args 通常要按规范写。
  12. Java 的跨平台依赖 JVM,不是所有平台直接运行同一个可执行文件。
  13. JRE 只能运行 Java 程序,开发编译一般需要 JDK。
  14. 一个 .java 文件可以有多个类,但最多只有一个 public 类。
  15. 没有 public 类时,文件名不必和类名一致;但考试常考的是有 public 类的情况。

四、练习题与答案解析

A. 课件标识符题

判断下面哪些标识符合法:

A. class
B. HelloWorld
C. main
D. 123abc
E. ARRAY_SIZE
F. $name
G. name:jim

答案:B、C、E、F。

解析:

  • A class:非法,class 是关键字。
  • B HelloWorld:合法。
  • C main:合法,main 不是关键字。
  • D 123abc:非法,不能以数字开头。
  • E ARRAY_SIZE:合法。
  • F $name:合法,但日常命名不推荐滥用 $
  • G name:jim:非法,冒号不能作为普通标识符组成部分。

B. 填空题

  1. Java 源文件的扩展名是 ________
    答案:.java

  2. Java 源文件经过 ________ 命令编译后生成 .class 文件。
    答案:javac

  3. .class 文件中保存的是与平台无关的 ________
    答案:字节码

  4. Java 程序通常由 ________ 负责运行字节码。
    答案:JVM

  5. JDK 的英文全称是 ________
    答案:Java Development Kit

  6. JRE 的英文全称是 ________
    答案:Java Runtime Environment

  7. JVM 的英文全称是 ________
    答案:Java Virtual Machine

  8. Java 程序的常见入口方法名是 ________
    答案:main

  9. Java 中单行注释以 ________ 开头。
    答案://

  10. Java 中多行注释以 ________ 开始,以 ________ 结束。
    答案:/**/

  11. 文档注释以 ________ 开始,以 ________ 结束。
    答案:/***/

  12. 一个 Java 源文件中最多只能有 ________public 类。
    答案:1

  13. 如果一个类被 public 修饰,则源文件名必须与 ________ 完全一致。
    答案:public 类名

  14. Java 标识符不能以 ________ 开头。
    答案:数字

  15. Java 语言严格区分 ________
    答案:大小写

C. 判断题

  1. Java 是纯解释型语言,源代码不需要编译。
    答案:错。Java 源代码需要先编译成字节码。

  2. Java 的跨平台性主要依赖 JVM。
    答案:对。

  3. javac 命令用于运行 Java 程序。
    答案:错。javac 用于编译。

  4. java 命令运行程序时需要带 .class 后缀。
    答案:错。运行时写类名,不带 .class

  5. 一个 Java 源文件中可以有多个类。
    答案:对。

  6. 一个 Java 源文件中可以有多个 public 类。
    答案:错。最多一个 public 类。

  7. 多行注释可以随意嵌套使用。
    答案:错。多行注释不能嵌套。

  8. 注释会参与编译,并保存在 .class 文件中。
    答案:错。注释不参与编译。

  9. HelloWorldhelloworld 是两个不同的标识符。
    答案:对。

  10. 123name 是合法标识符。
    答案:错。不能以数字开头。

  11. _score 是合法标识符。
    答案:对。

  12. public static void main(String[] args) 是常见入口方法写法。
    答案:对。

D. 单项选择题

  1. 下列哪个文件通常是 Java 源文件?
    A. HelloWorld.class B. HelloWorld.java C. HelloWorld.exe D. HelloWorld.txt
    答案:B。Java 源文件扩展名是 .java

  2. 编译 Java 源程序的命令是:
    A. java B. javac C. javadoc D. jar
    答案:B。javac 负责编译。

  3. 运行 HelloWorld.class 对应程序的正确命令是:
    A. java HelloWorld.class B. javac HelloWorld C. java HelloWorld D. run HelloWorld
    答案:C。运行时写类名,不带 .class

  4. 下列关于 JDK、JRE、JVM 的关系正确的是:
    A. JVM 包含 JDK B. JRE 包含 JDK C. JDK 包含 JRE,JRE 包含 JVM D. 三者完全相同
    答案:C。

  5. Java 实现跨平台的关键是:
    A. 源代码完全相同 B. 字节码和 JVM 机制 C. 所有电脑 CPU 相同 D. Java 不需要编译
    答案:B。

  6. 下列哪个是合法标识符?
    A. 2abc B. class C. student_name D. name-age
    答案:C。A 不能以数字开头,B 是关键字,D 含有减号。

  7. 下列哪个不是 Java 注释形式?
    A. // 注释 B. /* 注释 */ C. /** 注释 */ D. <!-- 注释 -->
    答案:D。<!-- --> 是 HTML/XML 风格注释。

  8. 对于 public class Test,源文件名应为:
    A. Main.java B. test.java C. Test.java D. public.java
    答案:C。文件名必须和 public 类名一致,大小写也要一致。

  9. 下列哪个说法正确?
    A. main 可以写成 mian
    B. Java 不区分大小写
    C. Java 语句通常以英文分号结束
    D. 中文分号和英文分号都可以
    答案:C。

  10. 文档注释通常可以由哪个工具提取生成说明文档?
    A. javac B. java C. javadoc D. jvm
    答案:C。

  11. 下列哪个命名更符合类名规范?
    A. studentname B. StudentName C. studentName D. STUDENT_NAME
    答案:B。类名通常使用大驼峰。

  12. 下列哪个命名更符合变量名规范?
    A. StudentAge B. studentAge C. STUDENTAGE D. student-age
    答案:B。变量名通常使用小驼峰。

  13. 下列关于 .class 文件说法正确的是:
    A. 它是 Java 源文件
    B. 它是字节码文件
    C. 它只能在 Windows 上运行
    D. 它由 java 命令编译得到
    答案:B。

  14. 下列哪个属于 Java 关键字?
    A. main B. String C. class D. println
    答案:C。

  15. 下列哪个问题最可能导致系统提示无法识别 javac 命令?
    A. 类名太长
    B. 没有安装或配置 JDK 环境
    C. 注释写错
    D. 字符串内容写错
    答案:B。

E. 标识符判断题

判断下列标识符是否合法,并说明原因。

  1. abc
    答案:合法。

  2. _name
    答案:合法。

  3. $value
    答案:合法,但不推荐普通命名随意使用 $

  4. 9score
    答案:非法,不能以数字开头。

  5. class
    答案:非法,关键字。

  6. Class
    答案:合法。Java 区分大小写,Class 不是关键字。

  7. student-name
    答案:非法,减号不能出现在标识符中。

  8. studentName
    答案:合法。

  9. true
    答案:非法,布尔字面量不能作为标识符。

  10. MAX_VALUE
    答案:合法。

  11. name:jim
    答案:非法,冒号不能出现在普通标识符中。

  12. void
    答案:非法,关键字。

F. 改错题

  1. 找出下面程序的问题。
public class Hello {
    public static void mian(String[] args) {
        System.out.println("Hello")}
}

答案:

  • mian 拼错,应为 main
  • System.out.println("Hello"); 结尾是中文分号,应改成英文分号 ;

修改后:

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello");
    }
}
  1. 文件名为 Test.java,代码如下,能否正常编译?为什么?
public class Student {
    public static void main(String[] args) {
        System.out.println("OK");
    }
}

答案:不能正常编译。因为文件名是 Test.java,但 public 类名是 Student。应改为 Student.java,或把类名改成 Test

  1. 找出下面命令的问题。
javac HelloWorld
java HelloWorld.class

答案:

  • 编译时应写 javac HelloWorld.java
  • 运行时应写 java HelloWorld,不带 .class
  1. 判断下面注释是否正确。
/*
  第一层注释
  /*
    第二层注释
  */
*/

答案:不正确。多行注释不能嵌套,多出来的 */ 会导致语法错误。

  1. 下面代码能否作为 Java 程序入口?为什么?
public static int main(String[] args) {
    return 0;
}

答案:不能作为标准入口方法。入口方法返回值应为 void,不能是 int

  1. 下面代码能否正常作为入口方法?为什么?
public static void Main(String[] args) {
    System.out.println("Hello");
}

答案:不能作为标准入口方法。Java 区分大小写,入口方法名应为 main,不是 Main

G. 简答题

  1. 简述 Java 程序从源文件到运行的过程。
    参考答案:Java 程序先写在 .java 源文件中,通过 javac 编译生成 .class 字节码文件,再由 java 命令启动 JVM 运行字节码。

  2. 简述 JDK、JRE、JVM 的区别和联系。
    参考答案:JDK 是开发工具包,包含 JRE 和编译调试工具;JRE 是运行时环境,包含 JVM 和核心类库;JVM 是虚拟机,负责运行 .class 字节码。

  3. 为什么说 Java 具有跨平台性?
    参考答案:Java 源程序编译后生成平台无关的字节码,不同操作系统安装对应 JVM 后,就可以运行同一份字节码,因此 Java 具有跨平台性。

  4. 简述 Java 与 C/C++ 相比的一些特点。
    参考答案:Java 相对 C/C++ 更简单,去掉复杂指针运算等机制;强调面向对象;有自动内存管理;基本数据类型大小固定;通过 JVM 实现较好的可移植性和安全性。

  5. Java 中三种注释分别是什么?各自适合什么场景?
    参考答案:单行注释 // 适合简短说明;多行注释 /* */ 适合临时说明多行内容;文档注释 /** */ 常写在类或方法前,可被 javadoc 工具生成文档。

  6. 什么是标识符?合法标识符需要满足哪些规则?
    参考答案:标识符是程序员给类、方法、变量等取的名字。合法标识符可以由字母、数字、下划线、美元符号等组成,不能以数字开头,不能是关键字,严格区分大小写。

H. 编程题

  1. 编写一个 HelloWorld 程序,在控制台输出 Hello Java

参考答案:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello Java");
    }
}
  1. 编写一个类 StudentInfo,在 main 方法中输出你的姓名、专业、学号。

参考答案:

public class StudentInfo {
    public static void main(String[] args) {
        System.out.println("姓名:张三");
        System.out.println("专业:计算机科学与技术");
        System.out.println("学号:20260001");
    }
}
  1. 编写一个程序,要求至少包含单行注释、多行注释、文档注释各一种。

参考答案:

/**
 * 注释示例程序。
 */
public class CommentDemo {
    public static void main(String[] args) {
        // 输出一句话
        System.out.println("Java comments");

        /*
         多行注释:
         这里可以写多行说明。
        */
    }
}

五、期末答题模板

1. Java 跨平台原因

Java 源文件先由 javac 编译成平台无关的 .class 字节码文件,再由不同平台上的 JVM 解释或即时编译执行,所以能实现“一次编写,到处运行”。

2. JDK/JRE/JVM 关系

JDK 是开发工具包,包含 JRE 和开发工具;JRE 是运行环境,包含 JVM 和核心类库;JVM 是虚拟机,负责运行字节码。

3. Java 程序运行流程

编写 .java 源文件,使用 javac 编译生成 .class 字节码文件,再使用 java 类名 启动 JVM 运行程序。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐