…
…
…
…
…
…
…
…
…
…
…
…
线
…
…
…
…
…
…
…
…
…
…
…
…
封
…
…
…
…
…
…
…
…
…
…
…
…
密
…
…
…
…
…
…
…
…
…
…
。
记
分
零
按
绩
成
,
者
清
不
迹
字
或
写
漏
、
写
错
号
学
、
名
姓
、
业
专
级
年
凡
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
号
学
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
业
专
级
年
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
名
姓
《java 基础案例教程(前四章习题库)》试卷
3. 若二维数组 int arr[][]={{1,2,3},{4,5,6},{7,8}};,则 arr[1][2]的值是(
)
总分
题型 单选题 多选题 判断题 填空题 简答题
题分
得分
得分
单选题(每题 1 分,共计 223 分)
1. 在 try{}catch(【】e){}中括号处需要填写的是?( )
A、2
B、5
C、6
D、0
A、异常对象
B、异常类
C、任意对象
D、任意类
2. 下列选项中,不可以被 final 修饰的是(
)
A、接口
B、类
C、方法
D、变量
4. 下面命令中,可以用来正确执行 HelloWorld 案例的是( )
A、javaHelloWorld
B、javaHelloWorld.java
C、javacHelloWorld
D、javacHelloWorld.java
5. 下列关于类和对象的描述,错误的是(
)
A、对象是类的实例
B、一个类只能有一个实例化对象
C、类是对象的抽象
D、类用于描述一组对象的共同特征和行为
《java 基础案例教程(前四章习题库)》试卷第 1页
…
…
…
…
…
…
…
…
…
…
…
…
线
…
…
…
…
…
…
…
…
…
…
…
…
封
…
…
…
…
…
…
…
…
…
…
…
…
密
…
…
…
…
…
…
…
…
…
…
。
记
分
零
按
绩
成
,
者
清
不
迹
字
或
写
漏
、
写
错
号
学
、
名
姓
、
业
专
级
年
凡
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
号
学
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
业
专
级
年
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
名
姓
6. 下列关于构造方法定义的描述中,错误的是(
)
A、方法名与类名相同
B、在方法名的前面没有返回值类型的声明
B、输出 null
C、输出 name
D、编译失败,无法从静态上下文中引用非静态变量 name
C、当定义了有参构造方法,系统默认的无参构造方法依然存在
8. 下列关于 while 语句的描述中,正确的是(
)
D、在方法中不能使用 return 语句返回一个值
7. 下列程序的运行结果是
class Demo{
private String name;
Demo(String name){this.name = name;}
private static void show(){
System.out.println(name);
}
public static void main(String[] args){
Demo d = new Demo("lisa");
d.show();
}
}
A、输出 lisa
A、while 语句循环体中可以没有语句
B、while 语句的循环条件可以是整型变量
C、while 语句的循环体必须使用大括号
D、while 语句的循环体至少被执行一次
9. 请阅读下面的程序,选择正确的运行结果。()
class Demo{
private static int x ;
public static void main(String[] args){
System.out.println(x++);
}
}
A、0
B、1
《java 基础案例教程(前四章习题库)》试卷第 2页
C、无结果
D、编译失败
10. 请阅读下面的程序
public class Test {
public static void main(String[] args) {
int a[ ] = { 2, 0, 4, 1, 8, 3, 5 };
int temp;
for (int i = 0; i < a.length - 1; i++) {
for (int j = a.length - 1; j > i; j--) {
if (a[j] < a[j - 1]) {
temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
}
}
}
for (Integer i : a) {
System.out.print(i);
}
…
…
…
…
…
…
…
…
…
…
…
…
线
…
…
…
…
…
…
…
…
…
…
…
…
封
…
…
…
…
…
…
…
…
…
…
…
…
密
…
…
…
…
…
…
…
…
…
…
。
记
分
零
按
绩
成
,
者
清
不
迹
字
或
写
漏
、
写
错
号
学
、
名
姓
、
业
专
级
年
凡
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
号
学
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
业
专
级
年
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
名
姓
}
}
下列选项中,哪个是程序的运行结果()
A、8543210
B、0123458
C、2041835
D、以上答案都不对
11. 下列关于浮点型数据的定义,哪一个不能通过编译( )
A、double a=12.45;
B、float b=12.45;
C、double c=100;
D、float d=100;
12. 自定义运行时异常,必须继承自( )类。
A、Error
B、Exception
C、RuntimeException
《java 基础案例教程(前四章习题库)》试卷第 3页
…
…
…
…
…
…
…
…
…
…
…
…
线
…
…
…
…
…
…
…
…
…
…
…
…
封
…
…
…
…
…
…
…
…
…
…
…
…
密
…
…
…
…
…
…
…
…
…
…
。
记
分
零
按
绩
成
,
者
清
不
迹
字
或
写
漏
、
写
错
号
学
、
名
姓
、
业
专
级
年
凡
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
号
学
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
业
专
级
年
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
名
姓
D、Throwable
13. 请阅读下面的程序
public class Example02 {
public static void main(String[] args) {
int x = 0; // 定义变量 x,初始值为 0
int y = 0; // 定义变量 y,初始值为 0
boolean b = x==0 || y++<0;
System.out.println("b = "+b+", y = "+y);
}
}
程序的运行结果是()
A、b=false,y=0
B、b=false,y=1
C、b=true,y=0
D、b=true,y=1
B、default
C、protected
D、public
15. 下列选项中,哪一个是十进制数 6 的二进制值( )
A、111
B、101
C、110
D、011
16. 下列选项中,可以被 final 修饰符修饰的是()
A、抽象方法
B、局部变量
C、接口
D、抽象类
14. 如果类的成员被(
)访问控制符来修饰,则这个成员只能被该类的其它成员访问,其它类无法直
17. 下列关于构造方法的描述,错误的是( )
接访问。
A、private
A、一个类中只能定义一个空参数的构造方法
《java 基础案例教程(前四章习题库)》试卷第 4页
…
…
…
…
…
…
…
…
…
…
…
…
线
…
…
…
…
…
…
…
…
…
…
…
…
封
…
…
…
…
…
…
…
…
…
…
…
…
密
…
…
…
…
…
…
…
…
…
…
。
记
分
零
按
绩
成
,
者
清
不
迹
字
或
写
漏
、
写
错
号
学
、
名
姓
、
业
专
级
年
凡
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
号
学
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
业
专
级
年
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
名
姓
B、一个类中可以定义多个构造方法
B、多个类可以继承一个父类
C、如果在一个类中定义有参的构造方法,jvm 就不会提供默认的无参构造方法
C、在 Java 中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如 C 类继承自 B 类,而
B 类又可以去继承 A 类,这时,C 类也可称作 A 类的子类
D、构造方法的作用是用来给属性进行初始化的
18. 下列关于 Java 语言的描述中,错误的是()
A、Java 语言是一门面向对象的编程语言
B、Java 是一门与平台无关的编程语言
C、Java 具有 JavaSE、JavaME 和 JavaEE 三大平台
D、Java 是一门介于汇编和高级之间的语言
19. 下列关于构造方法的描述中,错误的是( )
A、构造方法的方法名必须和类名一致
B、构造方法不能写返回值类型
C、构造方法可以重载
D、构造方法的访问权限必须和类的访问权限一致
20. 下列关于继承的描述中,错误的是()
A、在 Java 中,类只支持单继承,不允许多重继承,也就是说一个类只能有一个直接父类
D、Java 是支持多继承的
21. 请阅读下面的代码片段
public static int add(int a,int b) {
return a + b;
}
下列选项中,可以在 main()方法中成功调用 add()方法的是( )
A、int num = add(1.0,2.0);
B、int num = add('a','b');
C、int num = add(true,flase);
D、int num = add("1","2");
22. 阅读下段代码片段
public static void main(String[] args) {
{
int a = 1;
System.out.print(a);
《java 基础案例教程(前四章习题库)》试卷第 5页
…
…
…
…
…
…
…
…
…
…
…
…
线
…
…
…
…
…
…
…
…
…
…
…
…
封
…
…
…
…
…
…
…
…
…
…
…
…
密
…
…
…
…
…
…
…
…
…
…
。
记
分
零
按
绩
成
,
者
清
不
迹
字
或
写
漏
、
写
错
号
学
、
名
姓
、
业
专
级
年
凡
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
号
学
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
业
专
级
年
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
名
姓
}
{
int a = 2;
System.out.print(a);
}
int a = 3;
System.out.print(a);
}
D、ThreadDeath
24. 下列选项中,按照箭头方向,可以进行自动类型转换的是( )
A、char→int
B、short→char
C、float→long
D、char→short
下列选项中,哪一个是程序正确的运行结果( )
25. 下面选项中,完全面向对象的编程语言是(
)
A、123
B、111
C、121
D、编译不通过
A、C
B、COBOL
C、JAVA
D、FORTRAN
23. 下列选项中,不属于运行时异常类子类的是(
)
26. 下列关于 continue 语句的说法中,正确的是( )
A、ArrayStoreException
B、ClassCastException
C、IllegalArgumentException
A、continue 语句可以在选择语句中使用
B、continue 语句可以在条件语句中使用
C、continue 语句可以在循环语句中使用
《java 基础案例教程(前四章习题库)》试卷第 6页
…
…
…
…
…
…
…
…
…
…
…
…
线
…
…
…
…
…
…
…
…
…
…
…
…
封
…
…
…
…
…
…
…
…
…
…
…
…
密
…
…
…
…
…
…
…
…
…
…
。
记
分
零
按
绩
成
,
者
清
不
迹
字
或
写
漏
、
写
错
号
学
、
名
姓
、
业
专
级
年
凡
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
号
学
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
业
专
级
年
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
名
姓
D、continue 语句可以在任何语句中使用
D、以上都不是
27. 如果 jdk 的安装路径为:c:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用 javac 和 java
30. 下面关于 path 环境变量的说法中,错误的是()
命令,需要将环境变量 path 设置为以下哪个选项()
A、c:\jdk
B、c:\jdk\bin
C、c:\jre\bin
D、c:\jre
28. 下列选项中,按照箭头方向,不可以进行自动类型转换的是( )
A、byte→int
B、int→long
C、double→long
D、short→int
29. “隐藏对象的属性和实现细节,仅对外提供公有的方法”描述的是面向对象的哪个特征(
)
A、path 环境变量是系统环境变量中的一种,它用于保存一系列的路径
B、在命令行窗口输入"setpath"命令,可以查看当前系统的 path 环境变量
C、在命令窗口对环境变量进行的任何修改只对当前窗口有效,一旦关闭窗口,所有的设置都会被取消
D、配置系统环境变量时以英文半角逗号(,)分隔每一个路径
31. 下列关于条件语句的描述中,错误的是( )
A、if 语句中的条件表达式是一个布尔值。
B、选择语句分为 if 条件语句和 switch 条件语句。
C、switch 语句中的表达式只能是布尔类型的值。
D、switch 语句只能针对某个表达式的值作出判断。
32. 若 int a = 7;a %= 2;则执行后,变量 a 的值是(
)
A、封装
B、继承
C、多态
A、7
B、1
C、2
《java 基础案例教程(前四章习题库)》试卷第 7页
…
…
…
…
…
…
…
…
…
…
…
…
线
…
…
…
…
…
…
…
…
…
…
…
…
封
…
…
…
…
…
…
…
…
…
…
…
…
密
…
…
…
…
…
…
…
…
…
…
。
记
分
零
按
绩
成
,
者
清
不
迹
字
或
写
漏
、
写
错
号
学
、
名
姓
、
业
专
级
年
凡
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
号
学
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
业
专
级
年
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
:
名
姓
D、3
33. 请阅读下面的程序
public class Test {
B、m=13
C、m=1
D、m=2
public static void main(String[] args) {
34. 下面程序的运行结果是(
)
int m = 37;
int n = 13;
while (m != n) {
while (m > n) {
m -= n;
}
while (m < n) {
n -= m;
}
}
System.out.println("m=" + m);
}
}
下列选项中,哪一个是正确的运行结果(
)
A、m=37
public class Demo {
public static void main(String[] args) {
try {
System.out.println(10 / 0);
} catch (RuntimeException e) {
System.out.println("RuntimeException");
} catch (ArithmeticException e) {
System.out.println("ArithmeticException");
}
}
}
A、编译失败
B、编译通过,没有结果输出
C、输出:RuntimeException
《java 基础案例教程(前四章习题库)》试卷第 8页