Java程序设计期末考试题
一、选择题 20 分
1、下列说法中,不正确的是( A)
A) 一个java源程序编译通过后,得到的结果文件数也只有一个。
B) 一个java源程序经过编译后,得到的文件的扩展名一定是.class。
C) 一个java源程序只能有一个public class类定义,且源文件的名字与public class的类名相同,扩展名必须是.java。
D) 一个java源程序可以包含多个class类。
2、请问,以下哪些描述是正确的?
请选择所有正确答案:
(1)如果package语句存在,则必须出现在源文件的非空白首行。
(2)如果import语句存在,则必须出现在源文件的非空白首行。
(3)如果main()方法存在,则必须出现在源文件的非空白首行。
(4)如果在源文件中声明了一个public接口,则其名称必须和源文件名一致。
3、请问,以下哪些是Java中的合法标识符?
请选择所有正确答案:
(1)my-id
(2)my_id
(3)101ids
(4)id101
4、请问,以下哪些是合法的标识符?
请选择所有正确答案:
(1)%abcd
(2)$abcd
(3)1abcd
(4)package
(5)_a_long_name
5、以下哪个不是Java的关键字?()java设置环境变量的方法代码
A、FALSE
B、const
C、this
D、void
6、以下哪个不是Java的关键字?()
A、TRUE
B、goto
C、this
D、void
7、Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。
A、8
B、16
C、32
D、64
8、请问一下哪些修饰符用于声明一个常量?请选择一个正确答案:
(1) static
(2) final
(3) abstract
(4) public
9、给出以下代码,该程序的运行结果是什么?
public class Example{
final int x=0;
Example(){
x=1;
}
final int aMethod(){
return x;
}
}
请选择所有正确答案:
(1) 代码编译错误,因为非final类中存在final方法。
(2) 代码编译成功。
(3) 代码编译错误,因为代码中对一个final变量x有改变其值的操作。
(4) 代码编译错误,如果去掉变量x前的final修饰符,可使代码编译通过。
(5) 代码编译错误,因为final修饰符只能修饰方法不能修饰变量,因此语句final lint x=0错误.
10、给出以下代码,请问该程序的运行结果是什么?
1.public class Example{
2.private final int i=10;
3.private byte k=i;
4.private static void main(String args[]){
5.System.out.println(k);
6.}
7.}
请选择一个正确答案:
(1) 代码在第2行编译错误
(2) 代码在第3行编译时发出变量k不精确警告。报错是是因为k和i没有声明static,而不是不精确警告。
(3) 代码编译成功。
(4)代码编译成功,但在运行期第5行抛出异常。
11、给出以下代码,该程序的运行结果是什么?
public class Example{
final int x=0;
Example(){
x=1;
}
final int aMethod(){
return x;
}
}
请选择所有正确答案:
1.代码编译错误,因为非final类中存在final方法。
2.代码编译成功。
3.代码编译错误,因为代码中对一个final变量x有改变其值的操作。
4.代码编译错误,如果去掉变量x前的final修饰符,可使代码编译通过。
12、给出以下代码,请问该程序的运行结果是什么?
class Example{
public static void main(String args[]){
int a=5;
System.out.println(cube(a));
}
int cube(int theNum){
return theNum*theNum*theNum;
}
}
请选择一个正确答案:
(1) 代码编译失败,因为方法cube()已经在java.lang.Math类上定义过。(2) 代码编译失败,因为方法cube()不是static方法。
(3) 代码编译成功,但运行期抛出异常。
(4) 打印输出125。
13、有代码如下,请补全:
public class Example{
public enum Color{Red,Green,Blue};
public void foo(){
//在这里插入代码
System.out.println(c);
}
}
1.for(Color c:Color.values())
2.for(Color c=RED; c<BLUE;c++)
3.for(Color c:c.hasNext();c.next())
4.for(Color c: Color[0]; c< Color.BLUE;c++)
14、请问,以下哪些修饰符用于修饰变量,可使该变量属于类而不属于类实例?请选择一个正确答案:
(1) static
(2) final
(3) abstract
(4) transient
15、设有下面两个类的定义:
class Person {
long id; // 身份证号
String name; // 姓名
}
class Student extends Person {
int score; // 入学总分
int getScore(){
return score;
}
}
则类Person和类Student的关系是( )。
A、包含关系
B、继承关系
C、关联关系
D、上述类定义有语法错误
16、对于以下类:
class A{}
class B extends A{}
class C extends A{}
public class Test {
public static void main(String args[]) {
A x= new A();
B y=new B();
C z=new C();
//此处插入一条语句
}
}
下面哪个语句可以放到插入行? ( )
A) x=y; B) z=x; C) z=(C)y; D) y=(A)y;
17、给出以下代码,请问插入以下哪些语句可以满足对插入语句的要求? public class T{
int r;
int s;
T(int x,int y){
r=x;
s=y;
}
}
class S extends T{
int t;
public S(int x,int y,int z){
//插入代码处:要求插入代码实现r=x,s=y
t=z;
}
}
请选择一个正确答案:
(1) T(x,y);
(2) this(x,y);
(3) super(x,y);
(4) super(x,y,z);
(5) 以上均不对。
18、请问以下哪些关于构造器的描述是正确的?
请选择所有正确答案:
(1) 子类可以继承父类的构造器。
(2) 如果没有提供任何构造器,编译器自动为类提供一个无参的默认构造器。 (3) 构造器的返回类型均为void。
(4) 构造器可以抛出异常。
--------------------------------------------------------------------- 19、请问,以下哪些是有关方法覆盖的正确描述?
请选择所有正确的答案:
1.覆盖的方法和被覆盖的方法具有相同方法名、参数列表和返回类型。
2.覆盖的方法的访问范围声明不能比被覆盖的方法的访问范围小。
3.覆盖的方法不能抛出被覆盖的方法不能抛出的异常。
4.被覆盖的方法不能被private修饰。
20、给出以下代码,请问该程序的运行结果是什么?
1.class Example{
2.public static void main(String args[]){
3.Object o=new String("abcd");
4.String s=o;
5.System.out.println(s);
6.System.out.println(o);
7.}
8.}
注意:第四行是错误的,必须将o强制转换成String类型
abcd
abcd
请选择一个正确答案:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论