Java期末考试试题及答案.docx
Java期末考试试题及答案
选择题
1.以下哪个是Java中合法的标识符?
A.2variable
B.variable2
C.variable
D.class
答案:B。标识符只能以字母、下划线或美元符号开头,不能以数字开头,不能是关键字,所以A以数字开头错误,C以星号开头错误,D是关键字错误。
2.下列哪个数据类型不属于Java的基本数据类型?
A.int
B.float
C.Boolean
D.char
答案:C。Java基本数据类型中布尔类型是boolean(小写),而不是Boolean(这是包装类)。
3.以下代码的输出结果是:
```java
inta=5;
intb=3;
System.out.println(a/b);
```
A.1
B.1.6666667
C.2
D.编译错误
答案:A。两个整数相除,结果取整,5除以3结果为1。
4.若要定义一个方法,该方法可以接收任意数量的整数参数,以下哪个是正确的定义方式?
A.publicvoidmethod(int...args)
B.publicvoidmethod(intargs...)
C.publicvoidmethod(int[]args)
D.publicvoidmethod(intargs[])
答案:A。可变参数的定义格式是数据类型...参数名。
5.以下关于Java中继承的说法,错误的是:
A.一个类可以继承多个类
B.子类可以继承父类的非私有成员
C.继承使用extends关键字
D.所有类都直接或间接继承自Object类
答案:A。Java不支持多重继承,一个类只能继承一个父类。
6.以下代码创建了几个String对象?
```java
Strings1=abc;
Strings2=newString(abc);
```
A.1
B.2
C.3
D.4
答案:B。第一个通过字符串常量赋值,会先在字符串常量池中查找,若没有则创建一个;第二个使用new关键字会在堆中创建一个新的对象,共2个。
7.以下哪个关键字用于抛出异常?
A.try
B.catch
C.throw
D.finally
答案:C。throw用于手动抛出异常,try用于包裹可能抛出异常的代码,catch用于捕获异常,finally无论是否发生异常都会执行。
8.以下关于Java中数组的说法,正确的是:
A.数组可以存储不同类型的数据
B.数组的长度在创建后可以改变
C.数组下标从1开始
D.可以通过数组名.length获取数组的长度
答案:D。Java数组只能存储相同类型的数据,数组长度在创建后不可改变,数组下标从0开始。
9.以下代码的输出结果是:
```java
int[]arr={1,2,3};
for(inti=0;iarr.length;i++){
if(i==1){
continue;
}
System.out.print(arr[i]+);
}
```
A.123
B.13
C.2
D.编译错误
答案:B。当i等于1时,执行continue语句,跳过本次循环,所以输出1和3。
10.以下关于Java中接口的说法,错误的是:
A.接口中的方法默认是publicabstract的
B.接口中的变量默认是publicstaticfinal的
C.一个类可以实现多个接口
D.接口可以有构造方法
答案:D。接口不能有构造方法,因为接口是一种抽象类型,不能被实例化。
填空题
1.Java中的基本数据类型分为4大类,分别是整数类型、______、字符类型和布尔类型。
答案:浮点类型
分析:Java基本数据类型的分类就是整数、浮点、字符、布尔。
2.在Java中,使用______关键字来创建对象。
答案:new
分析:创建对象的语法是类名对象名=new类名()。
3.若要将一个字符串转换为整数,可以使用______类的parseInt()方法。
答案:Integer
分析:Integer类提供了将字符串转换为整数的parseInt方法。
4.Java中,线程的生命周期包括新建、就绪、运行、______和死亡5种状态。
答案:阻塞
分析:线程生命周期的5种状态就是新建、就绪、运行、阻塞、死亡。
5.若要实现多态,需要满足3个条件:继承、方法重写和______。
答案:父类引用