第一章 初识Java(大学生期末复习必看)
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后缀。- 如果提示找不到
javac或java,通常是 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 关键字。
- 严格区分大小写。
true、false、null不是普通标识符,不能拿来命名。
命名建议:
- 类名:大驼峰,如
HelloWorld。 - 方法名、变量名:小驼峰,如
studentName。 - 常量名:通常全大写加下划线,如
MAX_VALUE。
二、期末高频考法
- 判断 Java 跨平台的真正原因。
- 写出或改正
main方法。 - 区分
javac和java命令。 - 判断文件名、类名、
public类是否匹配。 - 判断标识符是否合法。
- 区分 JDK、JRE、JVM 的包含关系和作用。
- 判断注释是否参与编译,以及多行注释能否嵌套。
- 说出 Java 相对 C/C++ 的特点。
- 根据错误信息判断常见原因,如分号错误、类名错误、环境变量错误。
- 解释
.java、.class、字节码、JVM 的关系。
三、易错知识点
java HelloWorld.class是错的,运行时写java HelloWorld。javac HelloWorld是错的,编译时要写完整文件名javac HelloWorld.java。- 文件名必须和
public类名一致,不是和main方法名一致。 Main和main不一样,Java 区分大小写。public static void mian(String[] args)拼错了,mian不是入口方法。- 中文分号
;不是 Java 语句结束符,必须用英文分号;。 - 注释不是越多越好,注释要准确,代码改了注释也要改。
- 多行注释
/* */不能嵌套另一个/* */。 $name在语法上合法,但日常命名不推荐随便使用$。class是关键字,不能作为变量名或类名。String不是关键字,但入口方法参数中的String[] args通常要按规范写。- Java 的跨平台依赖 JVM,不是所有平台直接运行同一个可执行文件。
- JRE 只能运行 Java 程序,开发编译一般需要 JDK。
- 一个
.java文件可以有多个类,但最多只有一个public类。 - 没有
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. 填空题
-
Java 源文件的扩展名是
________。
答案:.java -
Java 源文件经过
________命令编译后生成.class文件。
答案:javac -
.class文件中保存的是与平台无关的________。
答案:字节码 -
Java 程序通常由
________负责运行字节码。
答案:JVM -
JDK 的英文全称是
________。
答案:Java Development Kit -
JRE 的英文全称是
________。
答案:Java Runtime Environment -
JVM 的英文全称是
________。
答案:Java Virtual Machine -
Java 程序的常见入口方法名是
________。
答案:main -
Java 中单行注释以
________开头。
答案:// -
Java 中多行注释以
________开始,以________结束。
答案:/*,*/ -
文档注释以
________开始,以________结束。
答案:/**,*/ -
一个 Java 源文件中最多只能有
________个public类。
答案:1 -
如果一个类被
public修饰,则源文件名必须与________完全一致。
答案:public类名 -
Java 标识符不能以
________开头。
答案:数字 -
Java 语言严格区分
________。
答案:大小写
C. 判断题
-
Java 是纯解释型语言,源代码不需要编译。
答案:错。Java 源代码需要先编译成字节码。 -
Java 的跨平台性主要依赖 JVM。
答案:对。 -
javac命令用于运行 Java 程序。
答案:错。javac用于编译。 -
java命令运行程序时需要带.class后缀。
答案:错。运行时写类名,不带.class。 -
一个 Java 源文件中可以有多个类。
答案:对。 -
一个 Java 源文件中可以有多个
public类。
答案:错。最多一个public类。 -
多行注释可以随意嵌套使用。
答案:错。多行注释不能嵌套。 -
注释会参与编译,并保存在
.class文件中。
答案:错。注释不参与编译。 -
HelloWorld和helloworld是两个不同的标识符。
答案:对。 -
123name是合法标识符。
答案:错。不能以数字开头。 -
_score是合法标识符。
答案:对。 -
public static void main(String[] args)是常见入口方法写法。
答案:对。
D. 单项选择题
-
下列哪个文件通常是 Java 源文件?
A.HelloWorld.classB.HelloWorld.javaC.HelloWorld.exeD.HelloWorld.txt
答案:B。Java 源文件扩展名是.java。 -
编译 Java 源程序的命令是:
A.javaB.javacC.javadocD.jar
答案:B。javac负责编译。 -
运行
HelloWorld.class对应程序的正确命令是:
A.java HelloWorld.classB.javac HelloWorldC.java HelloWorldD.run HelloWorld
答案:C。运行时写类名,不带.class。 -
下列关于 JDK、JRE、JVM 的关系正确的是:
A. JVM 包含 JDK B. JRE 包含 JDK C. JDK 包含 JRE,JRE 包含 JVM D. 三者完全相同
答案:C。 -
Java 实现跨平台的关键是:
A. 源代码完全相同 B. 字节码和 JVM 机制 C. 所有电脑 CPU 相同 D. Java 不需要编译
答案:B。 -
下列哪个是合法标识符?
A.2abcB.classC.student_nameD.name-age
答案:C。A 不能以数字开头,B 是关键字,D 含有减号。 -
下列哪个不是 Java 注释形式?
A.// 注释B./* 注释 */C./** 注释 */D.<!-- 注释 -->
答案:D。<!-- -->是 HTML/XML 风格注释。 -
对于
public class Test,源文件名应为:
A.Main.javaB.test.javaC.Test.javaD.public.java
答案:C。文件名必须和public类名一致,大小写也要一致。 -
下列哪个说法正确?
A.main可以写成mian
B. Java 不区分大小写
C. Java 语句通常以英文分号结束
D. 中文分号和英文分号都可以
答案:C。 -
文档注释通常可以由哪个工具提取生成说明文档?
A.javacB.javaC.javadocD.jvm
答案:C。 -
下列哪个命名更符合类名规范?
A.studentnameB.StudentNameC.studentNameD.STUDENT_NAME
答案:B。类名通常使用大驼峰。 -
下列哪个命名更符合变量名规范?
A.StudentAgeB.studentAgeC.STUDENTAGED.student-age
答案:B。变量名通常使用小驼峰。 -
下列关于
.class文件说法正确的是:
A. 它是 Java 源文件
B. 它是字节码文件
C. 它只能在 Windows 上运行
D. 它由java命令编译得到
答案:B。 -
下列哪个属于 Java 关键字?
A.mainB.StringC.classD.println
答案:C。 -
下列哪个问题最可能导致系统提示无法识别
javac命令?
A. 类名太长
B. 没有安装或配置 JDK 环境
C. 注释写错
D. 字符串内容写错
答案:B。
E. 标识符判断题
判断下列标识符是否合法,并说明原因。
-
abc
答案:合法。 -
_name
答案:合法。 -
$value
答案:合法,但不推荐普通命名随意使用$。 -
9score
答案:非法,不能以数字开头。 -
class
答案:非法,关键字。 -
Class
答案:合法。Java 区分大小写,Class不是关键字。 -
student-name
答案:非法,减号不能出现在标识符中。 -
studentName
答案:合法。 -
true
答案:非法,布尔字面量不能作为标识符。 -
MAX_VALUE
答案:合法。 -
name:jim
答案:非法,冒号不能出现在普通标识符中。 -
void
答案:非法,关键字。
F. 改错题
- 找出下面程序的问题。
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");
}
}
- 文件名为
Test.java,代码如下,能否正常编译?为什么?
public class Student {
public static void main(String[] args) {
System.out.println("OK");
}
}
答案:不能正常编译。因为文件名是 Test.java,但 public 类名是 Student。应改为 Student.java,或把类名改成 Test。
- 找出下面命令的问题。
javac HelloWorld
java HelloWorld.class
答案:
- 编译时应写
javac HelloWorld.java。 - 运行时应写
java HelloWorld,不带.class。
- 判断下面注释是否正确。
/*
第一层注释
/*
第二层注释
*/
*/
答案:不正确。多行注释不能嵌套,多出来的 */ 会导致语法错误。
- 下面代码能否作为 Java 程序入口?为什么?
public static int main(String[] args) {
return 0;
}
答案:不能作为标准入口方法。入口方法返回值应为 void,不能是 int。
- 下面代码能否正常作为入口方法?为什么?
public static void Main(String[] args) {
System.out.println("Hello");
}
答案:不能作为标准入口方法。Java 区分大小写,入口方法名应为 main,不是 Main。
G. 简答题
-
简述 Java 程序从源文件到运行的过程。
参考答案:Java 程序先写在.java源文件中,通过javac编译生成.class字节码文件,再由java命令启动 JVM 运行字节码。 -
简述 JDK、JRE、JVM 的区别和联系。
参考答案:JDK 是开发工具包,包含 JRE 和编译调试工具;JRE 是运行时环境,包含 JVM 和核心类库;JVM 是虚拟机,负责运行.class字节码。 -
为什么说 Java 具有跨平台性?
参考答案:Java 源程序编译后生成平台无关的字节码,不同操作系统安装对应 JVM 后,就可以运行同一份字节码,因此 Java 具有跨平台性。 -
简述 Java 与 C/C++ 相比的一些特点。
参考答案:Java 相对 C/C++ 更简单,去掉复杂指针运算等机制;强调面向对象;有自动内存管理;基本数据类型大小固定;通过 JVM 实现较好的可移植性和安全性。 -
Java 中三种注释分别是什么?各自适合什么场景?
参考答案:单行注释//适合简短说明;多行注释/* */适合临时说明多行内容;文档注释/** */常写在类或方法前,可被javadoc工具生成文档。 -
什么是标识符?合法标识符需要满足哪些规则?
参考答案:标识符是程序员给类、方法、变量等取的名字。合法标识符可以由字母、数字、下划线、美元符号等组成,不能以数字开头,不能是关键字,严格区分大小写。
H. 编程题
- 编写一个
HelloWorld程序,在控制台输出Hello Java。
参考答案:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello Java");
}
}
- 编写一个类
StudentInfo,在main方法中输出你的姓名、专业、学号。
参考答案:
public class StudentInfo {
public static void main(String[] args) {
System.out.println("姓名:张三");
System.out.println("专业:计算机科学与技术");
System.out.println("学号:20260001");
}
}
- 编写一个程序,要求至少包含单行注释、多行注释、文档注释各一种。
参考答案:
/**
* 注释示例程序。
*/
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 运行程序。
六、今晚复习建议
- 先背会 JDK、JRE、JVM 关系。
- 手写 3 遍
main方法。 - 在命令行亲自敲一次
javac和java。 - 重点刷:判断题、单选题、标识符判断题、改错题。
- 错题集中看:标识符、文件名类名匹配、编译运行命令。
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后缀。- 如果提示找不到
javac或java,通常是 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 关键字。
- 严格区分大小写。
true、false、null不是普通标识符,不能拿来命名。
命名建议:
- 类名:大驼峰,如
HelloWorld。 - 方法名、变量名:小驼峰,如
studentName。 - 常量名:通常全大写加下划线,如
MAX_VALUE。
二、期末高频考法
- 判断 Java 跨平台的真正原因。
- 写出或改正
main方法。 - 区分
javac和java命令。 - 判断文件名、类名、
public类是否匹配。 - 判断标识符是否合法。
- 区分 JDK、JRE、JVM 的包含关系和作用。
- 判断注释是否参与编译,以及多行注释能否嵌套。
- 说出 Java 相对 C/C++ 的特点。
- 根据错误信息判断常见原因,如分号错误、类名错误、环境变量错误。
- 解释
.java、.class、字节码、JVM 的关系。
三、易错知识点
java HelloWorld.class是错的,运行时写java HelloWorld。javac HelloWorld是错的,编译时要写完整文件名javac HelloWorld.java。- 文件名必须和
public类名一致,不是和main方法名一致。 Main和main不一样,Java 区分大小写。public static void mian(String[] args)拼错了,mian不是入口方法。- 中文分号
;不是 Java 语句结束符,必须用英文分号;。 - 注释不是越多越好,注释要准确,代码改了注释也要改。
- 多行注释
/* */不能嵌套另一个/* */。 $name在语法上合法,但日常命名不推荐随便使用$。class是关键字,不能作为变量名或类名。String不是关键字,但入口方法参数中的String[] args通常要按规范写。- Java 的跨平台依赖 JVM,不是所有平台直接运行同一个可执行文件。
- JRE 只能运行 Java 程序,开发编译一般需要 JDK。
- 一个
.java文件可以有多个类,但最多只有一个public类。 - 没有
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. 填空题
-
Java 源文件的扩展名是
________。
答案:.java -
Java 源文件经过
________命令编译后生成.class文件。
答案:javac -
.class文件中保存的是与平台无关的________。
答案:字节码 -
Java 程序通常由
________负责运行字节码。
答案:JVM -
JDK 的英文全称是
________。
答案:Java Development Kit -
JRE 的英文全称是
________。
答案:Java Runtime Environment -
JVM 的英文全称是
________。
答案:Java Virtual Machine -
Java 程序的常见入口方法名是
________。
答案:main -
Java 中单行注释以
________开头。
答案:// -
Java 中多行注释以
________开始,以________结束。
答案:/*,*/ -
文档注释以
________开始,以________结束。
答案:/**,*/ -
一个 Java 源文件中最多只能有
________个public类。
答案:1 -
如果一个类被
public修饰,则源文件名必须与________完全一致。
答案:public类名 -
Java 标识符不能以
________开头。
答案:数字 -
Java 语言严格区分
________。
答案:大小写
C. 判断题
-
Java 是纯解释型语言,源代码不需要编译。
答案:错。Java 源代码需要先编译成字节码。 -
Java 的跨平台性主要依赖 JVM。
答案:对。 -
javac命令用于运行 Java 程序。
答案:错。javac用于编译。 -
java命令运行程序时需要带.class后缀。
答案:错。运行时写类名,不带.class。 -
一个 Java 源文件中可以有多个类。
答案:对。 -
一个 Java 源文件中可以有多个
public类。
答案:错。最多一个public类。 -
多行注释可以随意嵌套使用。
答案:错。多行注释不能嵌套。 -
注释会参与编译,并保存在
.class文件中。
答案:错。注释不参与编译。 -
HelloWorld和helloworld是两个不同的标识符。
答案:对。 -
123name是合法标识符。
答案:错。不能以数字开头。 -
_score是合法标识符。
答案:对。 -
public static void main(String[] args)是常见入口方法写法。
答案:对。
D. 单项选择题
-
下列哪个文件通常是 Java 源文件?
A.HelloWorld.classB.HelloWorld.javaC.HelloWorld.exeD.HelloWorld.txt
答案:B。Java 源文件扩展名是.java。 -
编译 Java 源程序的命令是:
A.javaB.javacC.javadocD.jar
答案:B。javac负责编译。 -
运行
HelloWorld.class对应程序的正确命令是:
A.java HelloWorld.classB.javac HelloWorldC.java HelloWorldD.run HelloWorld
答案:C。运行时写类名,不带.class。 -
下列关于 JDK、JRE、JVM 的关系正确的是:
A. JVM 包含 JDK B. JRE 包含 JDK C. JDK 包含 JRE,JRE 包含 JVM D. 三者完全相同
答案:C。 -
Java 实现跨平台的关键是:
A. 源代码完全相同 B. 字节码和 JVM 机制 C. 所有电脑 CPU 相同 D. Java 不需要编译
答案:B。 -
下列哪个是合法标识符?
A.2abcB.classC.student_nameD.name-age
答案:C。A 不能以数字开头,B 是关键字,D 含有减号。 -
下列哪个不是 Java 注释形式?
A.// 注释B./* 注释 */C./** 注释 */D.<!-- 注释 -->
答案:D。<!-- -->是 HTML/XML 风格注释。 -
对于
public class Test,源文件名应为:
A.Main.javaB.test.javaC.Test.javaD.public.java
答案:C。文件名必须和public类名一致,大小写也要一致。 -
下列哪个说法正确?
A.main可以写成mian
B. Java 不区分大小写
C. Java 语句通常以英文分号结束
D. 中文分号和英文分号都可以
答案:C。 -
文档注释通常可以由哪个工具提取生成说明文档?
A.javacB.javaC.javadocD.jvm
答案:C。 -
下列哪个命名更符合类名规范?
A.studentnameB.StudentNameC.studentNameD.STUDENT_NAME
答案:B。类名通常使用大驼峰。 -
下列哪个命名更符合变量名规范?
A.StudentAgeB.studentAgeC.STUDENTAGED.student-age
答案:B。变量名通常使用小驼峰。 -
下列关于
.class文件说法正确的是:
A. 它是 Java 源文件
B. 它是字节码文件
C. 它只能在 Windows 上运行
D. 它由java命令编译得到
答案:B。 -
下列哪个属于 Java 关键字?
A.mainB.StringC.classD.println
答案:C。 -
下列哪个问题最可能导致系统提示无法识别
javac命令?
A. 类名太长
B. 没有安装或配置 JDK 环境
C. 注释写错
D. 字符串内容写错
答案:B。
E. 标识符判断题
判断下列标识符是否合法,并说明原因。
-
abc
答案:合法。 -
_name
答案:合法。 -
$value
答案:合法,但不推荐普通命名随意使用$。 -
9score
答案:非法,不能以数字开头。 -
class
答案:非法,关键字。 -
Class
答案:合法。Java 区分大小写,Class不是关键字。 -
student-name
答案:非法,减号不能出现在标识符中。 -
studentName
答案:合法。 -
true
答案:非法,布尔字面量不能作为标识符。 -
MAX_VALUE
答案:合法。 -
name:jim
答案:非法,冒号不能出现在普通标识符中。 -
void
答案:非法,关键字。
F. 改错题
- 找出下面程序的问题。
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");
}
}
- 文件名为
Test.java,代码如下,能否正常编译?为什么?
public class Student {
public static void main(String[] args) {
System.out.println("OK");
}
}
答案:不能正常编译。因为文件名是 Test.java,但 public 类名是 Student。应改为 Student.java,或把类名改成 Test。
- 找出下面命令的问题。
javac HelloWorld
java HelloWorld.class
答案:
- 编译时应写
javac HelloWorld.java。 - 运行时应写
java HelloWorld,不带.class。
- 判断下面注释是否正确。
/*
第一层注释
/*
第二层注释
*/
*/
答案:不正确。多行注释不能嵌套,多出来的 */ 会导致语法错误。
- 下面代码能否作为 Java 程序入口?为什么?
public static int main(String[] args) {
return 0;
}
答案:不能作为标准入口方法。入口方法返回值应为 void,不能是 int。
- 下面代码能否正常作为入口方法?为什么?
public static void Main(String[] args) {
System.out.println("Hello");
}
答案:不能作为标准入口方法。Java 区分大小写,入口方法名应为 main,不是 Main。
G. 简答题
-
简述 Java 程序从源文件到运行的过程。
参考答案:Java 程序先写在.java源文件中,通过javac编译生成.class字节码文件,再由java命令启动 JVM 运行字节码。 -
简述 JDK、JRE、JVM 的区别和联系。
参考答案:JDK 是开发工具包,包含 JRE 和编译调试工具;JRE 是运行时环境,包含 JVM 和核心类库;JVM 是虚拟机,负责运行.class字节码。 -
为什么说 Java 具有跨平台性?
参考答案:Java 源程序编译后生成平台无关的字节码,不同操作系统安装对应 JVM 后,就可以运行同一份字节码,因此 Java 具有跨平台性。 -
简述 Java 与 C/C++ 相比的一些特点。
参考答案:Java 相对 C/C++ 更简单,去掉复杂指针运算等机制;强调面向对象;有自动内存管理;基本数据类型大小固定;通过 JVM 实现较好的可移植性和安全性。 -
Java 中三种注释分别是什么?各自适合什么场景?
参考答案:单行注释//适合简短说明;多行注释/* */适合临时说明多行内容;文档注释/** */常写在类或方法前,可被javadoc工具生成文档。 -
什么是标识符?合法标识符需要满足哪些规则?
参考答案:标识符是程序员给类、方法、变量等取的名字。合法标识符可以由字母、数字、下划线、美元符号等组成,不能以数字开头,不能是关键字,严格区分大小写。
H. 编程题
- 编写一个
HelloWorld程序,在控制台输出Hello Java。
参考答案:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello Java");
}
}
- 编写一个类
StudentInfo,在main方法中输出你的姓名、专业、学号。
参考答案:
public class StudentInfo {
public static void main(String[] args) {
System.out.println("姓名:张三");
System.out.println("专业:计算机科学与技术");
System.out.println("学号:20260001");
}
}
- 编写一个程序,要求至少包含单行注释、多行注释、文档注释各一种。
参考答案:
/**
* 注释示例程序。
*/
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 运行程序。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)