20145209刘一阳《JAVA程序设计》第二周课堂测试
第二周课堂测试
1、if关键字后面的小括号内,表达式的值可以为10。(B)
A .true
B .false
2、表达式0xaa | 0x55的值为(C)
A .FF
B .0
C .255
D .1
3、表达式15&250的值为(B)
A .FF
B .0
C .255
D .1
4、表达式10 ^ 12的值为(A)
A .0x06
B .120
C .9
D .14
5、表达式-2 >> 1的值为(D)
A .2^31 – 1
B .2^15 – 1
C .1
D .-1
6、表达式-2 >>> 1的值为(A)
A .2^31 – 1
B .2^15 – 1
C .1
D .-1
7、下列与3*4的值相等的是(D)
A .3/2
B .3<2
C .3*2^2
D .3<<2
8、观察以下方法的定义,则该方法的返回类型为(A)
ReturnType method(byte x, double y) {
return (short)x/y*2;
}
A .double
B .short
C .int
D .byte
9、在命令行输入“java demo 3”,下列程序的运行结果为(C)
public class unsigned {
public static void main(String args[]) {
int i = Integer.parseInt(args[0]);
switch(i) {
case 1:System.out.println("Spring");break;
case 2:System.out.println("Summer");break;
case 3:System.out.println("Autumn");break;
case 4:System.out.println("Winter");break;
}
}
}
A .Spring
B .Summer
C .Autumn
D .Winter
10、switch(i)中,i的类型可以为byte、char、short、int或long。(B)
A .true
B .false
11、下列程序的运行结果为:(D)
int i=10;
do {
i/=2;
} while( i-- > 1 );
System.out.println(i);
A .1
B .5
C .2
D .-1
12、下列程序的运行结果为:(A)
int i=10;
do {
i/=2;
} while( --i > 1 );
System.out.println(i);
A .1
B .5
C .2
D .-1
13、下列程序的运行结果为:(B)
int b[][] = {{1},{2,2},{2,2,2}};
int sum = 0;
for(int i = 0; i < b.length; i++) {
for(int j = 0; j < b[i].length; j++) {
sum += b[i][j];
}
}
System.out.println(sum);
A .32
B .11
C .2
D .3
14、定义i=2,则下面程序的运行结果为:(B)
int i = 2;
switch(i) {
case 1:System.out.print(1);
case 2:case 3:System.out.print(3);
case 4:System.out.print(4);
}
A .3
B .34
C .4
D .无输出
15、下列哪个叙述是正确的?(A)
A .5.0/2+10的结果是double型数据。
B .(int)5.8+1.0的结果是int型数据。
C .苹'+ '果'的结果是char型数据。
D .(short)10+'a'的结果是short型数据。
16、用下列哪个代码替换程序标注的【代码】会导致编译错误?(C)
public class E {
public static void main (String args[ ]) {
int m=10,n=0;
while(【代码】) {
n++;
}
}
}
A .m-->0
B .m++>0
C .m = 0
D .m>100&&true
17、假设有int x=1;以下哪个代码导致“可能损失精度,找到int需要char”这样的编译错误。(C)
A .short t=12+'a';
B .char c ='a'+1;
C .char m ='a'+x;
D .byte n ='a'+1;
18、下列程序的输出结果是什么?(B)
public class E {
public static void main (String args[ ]) {
char x='你',y='e',z='吃';
if(x>'A'){
y='苹';
z='果';
}
else
y='酸';
z='甜';
System.out.println(x+","+y+","+z);
}
}
A .你,苹,果
B .你,苹,甜
C .你,酸,甜
D .你,酸,果
19、下列程序的输出结果是什么?(B)
public class E {
public static void main (String args[ ]) {
char c = '\0';
for(int i=1;i<=4;i++) {
switch(i) {
case 1: c = 'J';
System.out.print(c);
case 2: c = 'e';
System.out.print(c);
break;
case 3: c = 'p';
System.out.print(c);
default: System.out.print("好");
}
}
}
}
A .Jep好
B .Jeep好好
C .Jep好好
D .Jeep好
20、下列程序的输出结果是什么?(A)
public class E {
public static void main (String []args) {
int x = 1,y = 6;
while (y-->0) {
x--;
}
System.out.print("x="+x+",y="+y);
}
}
A .x=-5,y=-1
B .x=-4,y=0
C .x=6,y=0
D .x=7,y=-1
21、下列关于标识符的说法,错误的是(B)
A .标识符由字母、下划线、美元符号和数字组成。
B .2016_Java可以作为标识符。
C .标识符中的字母区分大小写。
D .catch不可以作为标识符。
22、下列关于Java中整数类型的说法,正确的是(CD)
A .一个byte型变量占4bit。
B .unsigned int a = 3是合法的声明。
C .使用关键字long声明long型变量:long minutes = 0x72AL。
D .short类型的变量的取值范围是-215~215-1.
23、下列说法正确的是(AB)
A .Java语言有8种基本数据类型。
B .基本数据类型可分为逻辑类型、整数类型、字符类型、浮点类型。
C .short和Float都属于基本数据类型。
D .int a = 0144中的0144是十六进制表示法。
24、下列说法错误的是(BC)
A .“字符类型”中的“字符”指Unicode表中的一个字符。
B .使用System.out.println(“\”)输出反斜线。
C .short类型与char类型均分配2个字节内存,两者取值范围一致。
D .使用(int)’A’观察一个字符在Unicode表中排序位置。
25、定义float x = 0.5f; double y = 0.5,则x==y结果为false。(B)
A .true
B .false
26、下列说法正确的是(ABD)
A .float a = 3.5;会导致编译错误。
B .byte b = (byte)(-150);则b的值为106。
C .byte c = 10;int d = (int)c;会导致精度的损失。
D .精度由高到低排序为:double float long int char short byte
27、关于课本P23示例程序的说法,正确的是(BCD)
A .程序等待用户在命令行输入数据时,是在Scanner reader = new Scanner(System.in);一句发生阻塞。
B .在命令行运行该程序时,使用ctrl+c可以结束阻塞。
C .输入0.00也可以结束程序的执行,输出sum的值。
D .当用户输入0.3并回车后,程序再次阻塞,该阻塞是由于执行了x = reader.nextDouble();一句。
28、以下哪些项是正确的char型变量的声明?(BE)
A .char ch = "R";
B .char ch = '\'
C .char ch = 'ABCD';
D .char ch = "ABCD";
E .char ch = '\ucafe';
F .char ch = '\u10100'
29、下列程序中哪些【代码】是错误的?(BCDE)
public class E {
public static void main(String args[]) {
int x = 8;
byte b = 127; //【代码1】
b = x; //【代码2】
x = 12L; //【代码3】
long y=8.0; //【代码4】
float z=6.89 ; //【代码5】
}
}
A .代码1
B .代码2
C .代码3
D .代码4
E .代码5
30、数组索引越界,编译可以通过,但运行时会发生ArrayIndexOutOfBoundsException异常。(A)
A .true
B .false
31、下列说法错误的是(B)
A .Java中数组的下标的数据类型是整型。
B .浮点型数组的默认值是0
C .数组创建后其大小不能改变。
D .向方法传递数组参数时,传递的是数组的引用。
32、对于int a[] = new int[3];下列哪个叙述是错误的?(B)
A .a.length的值是3。
B .a[1]的值是1。
C .a[0]的值是0。
D .a[a.length-1]的值等于a[2]的值。
33、下列错误的初始化语句是(ABD)
A .char str[]="hello";
B .char str[100]="hello";
C .char str[]={'h','e','l','l','o'};
D .char str[]={'hello'};
34、下面程序的运行结果是:(C)
public static void main(String args[]) {
int x=30;
int[] numbers=new int[x];
x=60;
System.out.println(numbers.length);
}
A .60
B .20
C .30
D .50
35、下面程序的运行结果是(B)
public static void main(String args[]) {
char s1[]="ABCDEF\0".toCharArray();
int i=0;
while(s1[i++]!='\0')
System.out.println(s1[i++]);
}
A .ABCDEF
B .BDF
C .ABCDE
D .BCDE
36、下列复制数组的方法,错误的是(C)
A .用循环语句逐个复制数组元素。
B .用arraycopy()方法。
C .用“=”复制。
D .用clone方法。
37、下列哪一个选项可以将数组a复制到b?(A)
A .arraycopy(a,0,b,0,a.length)
B .arraycopy(a,0,b,0,b.length)
C .arraycopy(b,0,a,0,a.length)
D .arraycopy(a,1,b,1,a.length)
38、下列关于课本P29示例程序的说法,正确的是(ABCD)
A .如果注释掉第一行“import java.util.*;”,则“System.out.println(Arrays. toString(a));”和“Scanner scanner = new Scanner(System.in);”两句会报错。
B .折半查找时,必须保证数组是有序的。
C .该程序所示的排序方法为冒泡排序法。
D .count>N/2说明查找结束,没有找到该数字。
39、下列是正确的Java字符串的为(ABD)
A .""""
B ."Oxzabc"
C ."""
D ."\t\t\r\n"
E ."boolean"5
40、为一个boolean类型的变量赋值,下列方式正确的是(B)
A .boolean = 1;
B .boolean a = (9>=10);
C .boolean a = “true”;
D .boolean a == false;