单选题 (共计 10 题,总计 20分)
1、(单选题)关于以下程序的说明,正确的是()
1. class StaticStuff
2. {
3. static int x=10;
4. static { x+=5;}
5. public static void main(String args[ ])
6. {
7. System.out.println(“x=” + x);
8. }
9. static { x/=3;}
10. }
A.4行与9行不能通过编译,因为缺少方法名和返回类型
B.9行不能通过编译,因为只能有一个静态初始化器
C.编译通过,执行结果为:x=5
D.编译通过,执行结果为:x=3
【正确答案】C
【答案解析】静态变量在类第一次加载的时候加载,并且只有一份
2、(单选题)在java正则表达式中,表示一个或者多个空格的是 ()
A.\s*
B.\s+
C.\S{1,n}
D.\S{1}
【正确答案】B
【答案解析】\s代表空格,+代表至少出现一次
4、(单选题)下列判断结果为true的是()
A. String str1=new String(“abc”);
String str2=new String(“abc”);
str1str2
B. String str1=“abc”;
String str2=new String(“abc”);
str1str2
C. Integer i1=127;
Integer i2=127;
i1i2
D. String str1=“a”;
String str2=“b”;
str2+=str1;
String str3=“ab”;
str2str3;
【正确答案】C
【答案解析】Integer和String的特点
5、(单选题)关于以下程序代码的说明正确的是()
class HasStatic {
private static int x = 100;
public static void main(String[] args) {
HasStatic hs1 = new HasStatic();
hs1.x++;//第5行
HasStatic hs2 = new HasStatic();
hs2.x++;
hs1 = new HasStatic();
hs1.x++;
HasStatic.x–;//第10行
System.out.println(“x=” + x);
}
}
A.5行不能通过编译,因为引用了私有静态变量
B.10行不能通过编译,因为x是私有静态变量
C.程序通过编译,输出结果为:x=103
D.程序通过编译,输出结果为:x=102
【正确答案】D
【答案解析】静态变量是共有的
6、(单选题)ArrarList list=new ArrayList(20),会扩容几次()
A.0次
B.1次
C.2次
D.3次
【正确答案】A
【答案解析】在初始化是没有进行扩容
多选题 (共计 10 题,总计 20分)
11、(多选题)下列关于静态方法中说法正确的是:
A.静态方法中不能直接调用非静态方法
B.静态方法不能通过实例调用
C.静态方法能够用类名直接调用
D.可以在不产生任何一个对象的情况下调用静态方法
【正确答案】A,C,D
13、
(多选题)下列关于Java中的类和对象的说法正确的是:
A.类和对象一样,只是说法不一样
B.对象是具有属性和行为的实体
C.类规定类对象所拥有的特征和行为
D.类是对一类对象的概括
【正确答案】B,C,D
【答案解析】
类和对象不一样
17、(多选题)下列关于数组和集合之间的区别说法正确的是
A.求集合和数组的大小是用size方法。
B.集合大小是不固定的,数组的大小是固定的。
C.集合只能存储基本类型数据和引用类型数据。
D.数组一旦定义,那么此数组就只能存储定义的数据类型元素。
【正确答案】B,D
19、(多选题)下列各项可能会出现空指针异常的是:
A.s != null & !s.equals(“”);
B.s != null && !s.equals(“”);
C. s != null | !s.equals(“”);
D.s != null || !s.equals(“”);
【正确答案】A,C,D
20、(多选题)下列各项中对于正确赋值的是:
A.byte b = a’;
B.short s = 2 << 5;
C.float f = -5;
D.float f = 3.2f / 1;
【正确答案】A,B,C,D