一、选择题(每题1分,共20题,共20分)
1、下面哪些标识符是正确的?( D )
A、class B、hello world
C、123$temp D、Demo
2、在Java中,字节数据类型的关键字和默认值是( A)。
A、byte和0 B、byte和1
C、boolean和true D、boolean和false
3、下列声明变量方式正确的是( B)
A、int a=1,double b=12345;
B、int c=12; double d=154;
C、char e='ok' 、boolean f=0;
4、下列关于自动类型转换的说法中,正确的一个是(B )
A、int类型数据可以自动转换为char类型数据
B、char类型数据可以被自动转换为int类型数据
C、boolean类型数据不可以做自动类型转换,但是可以做强制转换
D、long类型数据可以被自动转换为short类型数据
5、下列循环体执行的次数是( B)。
int x=10, y=30;
do{
y -= x;
x++;
}while(x++<y--);
A.1 B.2 C.3 D.4
6、下面的语句序列的输出结果为( D )
String s = "ABCD";
s.concat("E");
s.replace('C','F');
System.out.println(s);
A、ABCDEF B、ABFDE
C、ABCDE D、ABCD
7、for (int i = Integer.MAX_VALUE-10; i<=Integer.MAX_VALUE ; i++)的循环次数( D )
A、10 B、11 C、9 D、无限次
8、下面程序的执行结果是( A)
public static void main(String[] args) {
int m=9;
boolean b=m>9;
if(!b) {
m+=1;
System.out.println(m);
}
int n=8;
boolean b2=m>9;
if(b2){
System.out.println(n++);
}
}
A、10和8 B、10和9 、8 、9
9、Java中的泛型属于( A )的性特性。
A.JDK5 B.JDK6 C.JDK7 D.JDK8
10、执行下面的语句后,a、b、c的值分别是( C)
int a = 2;
int b = (a++) * 3;
int c = (++a) * 3;
A、2、6、6 B、4、9、9
C、4、6、12 D、3、9、9
11、程序System.out.println("1+1="+1+1) 的输出结果( C)
A、1 B、1 + 1 = 2
C、1 + 1 = 11 D、2
12、下列声明变量的错误的是( D)
A、int a; B、double b=4.5;
C、boolean b=true; D、float f=9.8;
13、假设类X是类Y的父类,下列声明对象x的语句中不正确的是( D )
A.X x = new X() B.X x = new Y()
C.Y x = new Y() D.Y x = new X()
14、下面的程序编译运行的结果是( A)
public class A implements B {
public static void main(String args[]) {
int m, n;
A a = new A();
m = a.K;
n = B.K;
System.out.println(m + "," + n);
}
}
interface B {
int K = 5;
}
A、5,5 B、0,5
C、0,0 D、编译程序产生编译结果
15、已知如下代码:
switch(m){
case0:System.out.println("Condition 0");
case1:System.out.println("Condition 1");
case2:System.out.println("Condition 2");
case3:System.out.println("Condition3");break;
default:System.out.println("OtherCondition");
}
当m的值为( D 时,会输出“Condition 3”。
A、2 B、0、1
C、0、1、2 D、0、1、2、3
16、下面关于子类调用父类构造方法的描述正确的是(C)
A、子类定义了自己的构造方法,就不会调用父类的构造方法
B、子类必须通过super关键字调用父类有参的构造方法
C、如果子类的构造方法没有通过super调用父类的构造方法,那么子类会先调用父类中无参构造方法,之后再调用子类自己的构造方法
D、创建子类对象时,先调用子类自己的构造方法,然后再调用父类的构造方法
17、以下( D )语句不能通过编译。
A、String s= "join"+ "was"+ "here";
B、String s= "join"+'3';
C、double a= 3+5;
D、float f=5+5.5;
18、以下程序执行结束后,a、b值为( A )
int a = 10, b = 20;
if (++a > 10 | b-- < 15) {
a += --b;
a--;
}
A、28和18 B、29和19
C、30和19 D、29和18
19、下列(C)关键字通常用来对对象加锁,从而使得对对象的访问是排他的。
A.serialize B.transient C.synchronized D.static
20、HashSet子类依靠( C )方法区分重复元素。
A.toString()、equals() B.clone()、equals()
C.hashCode()、equals() D.getClass()、clone()