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;

上一篇:图解 HTTP 笔记(八)——常见 Web 攻击技术


下一篇:linux和windows下,C/C++的sleep函数