一、选择题
1. 下列不可作为java语言修饰符的是( )。 A. a1 B. $1 C. _1 D. 11 答案:D
2. 有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是( )。 A. a1.java B. a1.class C. a1 D. 都对 答案:A
3. 整型数据类型中,需要内存空间最少的是( )。 A. short B. long C. int D. byte 答案:D
4. Java 类可以作为( )。 A. 类型定义机制 B. 数据封装机制
C. 类型定义机制和数据封装机制 D. 上述都不对 答案:C
5. 在创建对象时必须( )。
A. 先声明对象,然后才能使用对象
B. 先声明对象,为对象分配内存空间,然后才能使用对象
C. 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
D. 上述说法都对 答案:C
6. 在调用方法时,若要使方法改变实参的值,可以( )。 A. 用基本数据类型作为参数 B. 用对象作为参数 C. A和B都对 D. A和B都不对 答案:B
7. Java中( )。
A. 一个子类可以有多个父类,一个父类也可以有多个子类 B. 一个子类可以有多个父类,但一个父类只可以有一个子类 C. 一个子类可以有一个父类,但一个父类可以有多个子类 D. 上述说法都不对 答案:C
8. Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?( )。 A. 安全性 B. 多线性 C. 跨平台 D. 可移植 答案:B
9. Character流与Byte流的区别是( )。 A. 每次读入的字节数不同 B. 前者带有缓冲,后者没有
C. 前者是字符读写,后者是字节读写 D. 二者没有区别,可以互换使用 答案:C
10. 以下声明合法的是( )。
A.default String s;
B.public final static native int w( ){}; C.abstract double d;
D.abstract final double hyperbolicCosine( ); 答案:D
11. 关于以下application的说明,正确的是( )。 class StaticStuff { static int x = 10; static {x += 5; }
public static void main(String args[]) { System.out.println(\ }
static {x /= 3;} }
A.4行与9行不能通过编译,因为缺少方法名和返回类型B.9行不能通过编译,因为只能有一个静态初始化器 C.编译通过,执行结果为:x=5 D.编译通过,执行结果为:x=3 答案:C
12. 以下选项中循环结构合法的是( )。 A.
while (int i<7) { i++;
System.out.println(“i is “+i); } B.
int j=3; while(j) {
System.out.println(“ j is “+j);
}
C.
int j=0;
for(int k=0; j + k !=10; j++,k++) {
System.out.println(“ j is “+ j + “k is”+ k); } D.
int j=0; do{
System.out.println( “j is “+j++); if (j = = 3) {continue loop;} }while (j<10); 答案:C
13. 将以下哪种方法插入行3是不合法的。( )。 类Test1定义如下: public class Test1{
public float aMethod(float a,float b){ } }
A.public float aMethod(float a, float b,float c){ } B.public float aMethod(float c,float d){ } C.public int aMethod(int a, int b){ } D.private float aMethod(int a,int b,int c){ } 答案:B
14. 将以下哪种方法插入Test2的类体中是不合法的。( )。类Test1、Test2定义如下: public class Test1 {
public float aMethod(float a, float b) throws IOException { } }
public class Test2 extends Test1 {}
A.float aMethod(float a,float b){ }
B.public int aMethod(int a,int b)throws Exception{ } C.public float aMethod(float p,float q){ }
D.public int aMethod(int a,int b)throws IOException{ } 答案:A
15. 关于以下程序段,正确的说法是( )。 String s1=”abc”+”def”;
String s2=new String(s1); if(s1= =s2)
System.out.println(“= = succeeded”); if (s1.equals(s2))
System.out.println(“.equals() succeeded”); A.行4与行6都将执行 B.行4执行,行6不执行 C.行6执行,行4不执行 D.行4、行6都不执行 答案:C
16. Java application中的主类需包含main方法,main方法的返回类型是什么?( )。 A.int B.float C.double D.void 答案:D
17. 以下哪个方法用于定义线程的执行体? ( )。 A.start() B.init() C.run()
D.synchronized() 答案:C
18. 以下标识符中哪项是不合法的( )。 A.const B.$double C.hello
D.BigMeaninglessName 答案:A
19. 以下哪个关键字可以用来为对象加互斥锁?( )。 A.transient B.static C.serialize
D.synchronized 答案:D
20. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( )。 A.隐藏 B.覆盖 C.重载
D.Java不支持此特性 答案:C
21. 以下关于构造函数的描述错误的是( )。 A.构造函数的返回类型只能是void型。
B.构造函数是类的一种特殊函数,它的方法名必须与类名相同。 C.构造函数的主要作用是完成对类的对象的初始化工作。 D.一般在创建新对象时,系统会自动调用构造函数。 答案:A
22. 下列哪些语句关于Java内存回收的说明是正确的? ( ) A.程序员必须创建一个线程来释放内存 B.内存回收程序负责释放无用内存
C.内存回收程序允许程序员直接释放内存
D.内存回收程序可以在指定的时间释放内存对象 答案:B
23. 若需要定义一个类域或类方法,应使用哪种修饰符?( )。 A. interface B{ void print() { } ; }
B. abstract interface B{ void print() ;}
C. abstract interface B extendsA.1,A2 { abstract void print(){ };}//A1、A2为已定义的接口 A.static B.package C.private D.public 答案:C
24. 有以下方法的定义,请选择该方法的返回类型( )。 ReturnType method(byte x, double y) { return (short)x/y*2; }
A.byte B.short C.int D.double
答案:D
25. 有以下程序片段,下列哪个选项不能插入到第1行。( //第1行
public class Interesting{ //do sth }
A.import java.awt.*; B.package mypackage; C.class OtherClass{ } D.public class MyClass{ } 答案:D
26. 以下哪项是接口的正确定义?( )。 )。 D. interface B { void print();} 答案:D
27. 下面哪个函数是public void aMethod(){...}的重载函数?( )。 A.void aMethod( ){...} B.public int aMethod(){...} C.public void aMethod ( ){...} D.public int aMethod ( int m){...} 答案:D
28. 假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( )。 classA. { int i;
static String s;
void method1() { }
static void method2() { } }
A.System.out.println(A.i); B.A.method1(); C.A.method1(); D.A.method2() 答案:C
29. 有如下代码段, 其中方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?( )。 //此为第1行 {
if(unsafe()){ //do something…}
else if(safe()){ //do the other…} }
A. public IOException methodName() C.输出零 D.输出空 答案:C
33. 在使用interface声明一个接口时,只可以使用( )修饰符修饰该B. public void methodName()
C. public void methodName() throw IOException D. public void methodName() throws IOException 答案:D
30. Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。 A.8 B.16 C.32 D.64 答案:C
31. 以下关于继承的叙述正确的是( )。 A.在Java中类只允许单一继承
B.在Java中一个类只能实现一个接口
C.在Java中一个类不能同时继承一个类和实现一个接口 D.在Java中接口只允许单一继承 答案:A
32. 给出下面代码,关于该程序以下哪个说法是正确的?( ) public class Person{
static int arr[] = new int[5];
public static void main(String a[]) { System.out.println(arr[0]);} } }
A.编译时将产生错误
B.编译时正确,运行时将产生错误
接口。 A.private B.protected
C.private protected D.public 答案:D
34. 编译并运行以下程序,以下描述哪个选项是正确的( )。class A{
protected boolean equals(){ return super.equals(); } }
A.编译通过运行无异常 B.编译通过但运行时出错 C.行2出错,不能成功编译 D.不能成功编译,行3出错 答案:D
35. 有语句String s=”hello world”; ,以下操作哪个是不合法的?(A.int i=s.length(); B.s>>>=3;
C.String ts=s.trim(); D.String t=s+”!”; 答案:B
36. 下列关于Java语言的特点,描述错误的是( )。 A.Java是跨平台的编程语言 B.Java支持分布式计算
)。