第二章 编程基础(第二次作业)

一. 单选题(共120题,48分)

1. int a[ ]={45,4,67,23,65,87,34,52,56};数组中a[5]的值为( )

  • A. 23

  • B. 45

  • C. 65

  • D. 87

正确答案: D

答案解析:

数组的索引值从0开始,a[5]表示第6个元素即87。

2. 下列选项中,按照箭头方向,不可以进行自动类型转换的是( )

  • A. byte→int

  • B. int→long

  • C. double→long

  • D. short→int

正确答案: C

答案解析:

类型转换过程中,只能范围小的自动转成范围大的。double范围大于long。

3. 下列关于continue语句的说法中,正确的是( )

  • A. continue语句可以在选择语句中使用

  • B. continue语句可以在条件语句中使用

  • C. continue语句可以在循环语句中使用

  • D. continue语句可以在任何语句中使用

正确答案: C

答案解析:

continue语句只能在循环语句中使用。

4. 下列选项中,属于字符常量的是( )

  • A. "a"

  • B. 'ab'

  • C. '1'

  • D. 1

正确答案: C

答案解析:

字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号(' ')引起来,它可以是英文字母、数字、标点符号、以及由转义序列来表示的特殊字符,如’a’。

5. 下列数据类型中,哪种数据类型转为int类型需要进行强制转换()

  • A. byte

  • B. short

  • C. char

  • D. float

正确答案: D

答案解析:

在两种类型兼容的前提下,取值范围大的类型转换成取值范围小的类型时,需要进行强制类型转换。

6. 下列字符串常量中,哪一个是错误的( )

  • A. "abc"

  • B. "12'12"

  • C. "12"12"

  • D. ""

正确答案: C

答案解析:

字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号(” “)引起来,一个字符串可以包含一个字符或多个字符,也可以不包含任何字符,但不能包含特殊字符,例如在字符串中表示引号(”),需要用转义字符(\)。

7. 请阅读下面的程序

public class Example02 {

public static void main(String[] args) {

int x = 0; // 定义变量x,初始值为0

int y = 0; // 定义变量y,初始值为0

boolean b = x==0 || y++<0;

System.out.println("b = "+b+", y = "+y);

}

}

程序的运行结果是()

  • A. b=false,y=0

  • B. b=false,y=1

  • C. b=true,y=0

  • D. b=true,y=1

正确答案: C

答案解析:

答案为C。我们看表达式的执行流程:首先判断x==0是否成立,判断结果是true成立,那么“||”右边的表达式将不执行,将true的值赋给b,因为右边的表达式不参与运算,所以y的值还是0。

8. 下列选项中,哪一个是多行注释符号()

  • A. //**//

  • B. /*/*

  • C. //

  • D. /**/

正确答案: D

答案解析:/* */ 表示多行注释,以“/*”起始,以“*/”结束。

9. 下列选项中,哪个是八进制043的十六进制表示形式( )

  • A. 0x43

  • B. 0x23

  • C. 23

  • D. 0x32

正确答案: B

答案解析:

十六进制数字以0x或者0X开头

八进制以3个二进制位为一个单元,而十六进制以4个二进制位为一个单元计算每一位数。运算过程:八进制043  二进制0010 0011  十六进制 0x23。

10.下列关于方法的描述中,正确的是( )

  • A. 方法是对功能代码块的封装

  • B. 当方法没有返回值时,返回值类型可以不写

  • C. 当方法没有返回值时,不能有return语句

  • D. 方法是不可以没有参数的

正确答案: A

答案解析:

如果方法没有返回值,则返回值类型要定义为void。

方法中没有返回值也可以使用return语句,格式为return;

方法中可以定义参数,也可以不定义参数。

11. 阅读下面程序片段

switch (i) {

case 1:

System.out.println("message1");

case 2:

System.out.println("message2");

case 3:

System.out.println("message3");

break;

}

请说当变量i的值为多少时,程序只输出“message 3”。()

  • A. 1

  • B. 2

  • C. 3

  • D. 4

正确答案: C

答案解析:

Switch语句在case后面没有加break语句会出现case穿透,所以i的值为1或2都会多输出结果,只有当i等于3的时候,输出结果只有“message3”。

12. 请阅读下面的程序

public class Example {

public static void main(String[] args) {

int x = 1;

do {

x++;

} while (x <= 4);

System.out.println("x = " + x);

}

}

程序的运行结果是()

  • A. 3

  • B. 4

  • C. 5

  • D. 6

正确答案: C

13. 请阅读下面的代码片段

public static int add(int a,int b) {

return a + b;

}

下列选项中,可以在main()方法中成功调用add()方法的是( )

  • A. int num = add(1.0,2.0);

  • B. int num = add(true,flase);

  • C. int num = add('a','b');

  • D. int num = add("1","2");

正确答案: C

答案解析:

调用add方法传入’a’和’b’会自动类型提升为int类型,查找对应的ascii码表值 。

14. 下列选项中,不属于基本数据类型的是( )

  • A. String

  • B. short

  • C. boolean

  • D. char

正确答案: A

答案解析:

Java中的8种基本数据类型分别是byte、short、int、long、float、double、char和boolean,其中不包含String类型,String属于引用类型。

15. 关于变量类型转换的描述中,正确的是( )

  • A. 只有数据类型相同的数据才能进行运算。

  • B. byte类型和short类型的数据是不能一起运算的。

  • C. 两个byte类型数据一起运算时会把先自动提升到int类型再运算。

  • D. 两个整型在一起运算时,结果一定是int。

正确答案: C

答案解析:

byte类型和short类型的数据一起运算时会把先自动提升到int类型,再运算。

16. 请阅读下面的程序

public class Test {

public static void main(String[] args) {

for(int x =0;x<5;x++){

if(x%2==0)

break;

System.out.println(x);

}

}

}

运行结果正确的是()

  • A. 12345

  • B. 024

  • C. 13

  • D. 不输出任何内容

正确答案: D

答案解析:

由于上述程序在for循环中使用了break语句,当执行到break语句时,就会跳出本次循环, break后的语句一直没有机会执行,因此,最后什么都不会输出。

17. 请阅读下面的程序

public class Example {

public static void main(String[] args) {

int x = 1;

do {

x++;

} while (x <= 4);

System.out.println("x = " + x);

}

}

运行程序后,下列选项中,哪一个是x的值。( )

  • A. 3

  • B. 4

  • C. 5

  • D. 6

正确答案: C

答案解析:

X=4时,继续执行x++,最后输出x的值,即4+1=5;

18. 下列选项中,哪一个不能通过编译( )

  • A. byte a=1;

  • B. short b=100;

  • C. int c='a';

  • D. long d=8888888888;

正确答案: D

答案解析:

java中的整型数据默认是int类型,long d=8888888888;它的值超过了int类型的范围,这时如果要描述成一个long数据,必须在值后面加上L后l。

19. 下列命令中,可以将文档注释提取出来生成帮助文档的是( )

  • A. javac

  • B. java

  • C. javadoc

  • D. jar

正确答案: C

答案解析:

可以使用javadoc命令将文档注释提取出来生成帮助文档。

20. 下列关于条件语句的描述中,错误的是( )

  • A. if语句中的条件表达式是一个布尔值。

  • B. 选择语句分为if条件语句和switch条件语句。

  • C. switch语句中的表达式只能是布尔类型的值。

  • D. switch语句只能针对某个表达式的值作出判断。

正确答案: C

答案解析:switch语句中的表达式不是布尔值,switch语句中的表达式可以是byte、short、char、int等类型的值。

21. 请阅读下面的程序。

public class Test {

public static void main(String[] args) {

int a = 0;

int b = 0;

for (int i = 1; i <= 5; i++) {

a = i% 2;

while (a-- >= 0) {

b++;

}

}

System.out.println("a=" + a + ",b=" + b);

}

}

下列选项中,哪一个是正确的运行结果( )

  • A. a=8,b=-2

  • B. a=-2,b=8

  • C. a=3,b=0

  • D. a=0,b=3

正确答案: B

答案解析:

本题中有两个循环语句,分别是外层循环的for语句和内层循环的while语句,首先程序会执行for循环中的语句,并执行循环体中的表达式a=i%2,计算出a的值,然后在进入while循环计算b的值,循环往复直到外层循环条件i>5为止。

22. 请阅读下面的程序

public class Example {

public static void main(String[] args) {

int x = 1;

do {

x++;

} while (x <= 4);

System.out.println("x = " + x);

}

}

程序的运行结果是()

  • A. 3

  • B. 4

  • C. 5

  • D. 6

正确答案: C

答案解析:

在循环完成时x的值为5。

23. 下列选项中,哪一个是单行注释的符号( )

  • A. \

  • B. //

  • C. /

  • D. \\

正确答案: B

答案解析:

// 双斜杠表示注释单行代码。

24. 请阅读下面的程序

public class Test {

public static void main(String[] args) {

int x;

int y;

for (x = 1, y = 1; x <= 100; x++) {

if (y >= 20) {

break;

}

if (y % 3 == 1) {

y += 3;

continue;

}

y -= 5;

}

System.out.println("x=" + x +",y=" + y);

}

}

下列选项中,哪一个是程序的运行结果( )

  • A. x=8,y=22

  • B. x=22,y=8

  • C. x=3,y=0

  • D. x=0,y=3

正确答案: A

答案解析:

按照循环语句嵌套if语句的执行流程分析即可得到正确结果,注意break和continue语句的特点。

25. 下列关于while语句的描述中,正确的是( )

  • A. while语句循环体中可以没有语句

  • B. while语句的循环条件可以是整型变量

  • C. while语句的循环体必须使用大括号

  • D. while语句的循环体至少被执行一次

正确答案: A

答案解析:

while语句的循环条件必须是boolean类型的,

while语句的循环体中只有一条语句时可以不用大括号,

while语句的循环条件不满足时,循环体中的内容不执行。

26. 程序的运行结果是()

public class Example09 {

public static void main(String[] args) {

int grade =76; // 定义学生成绩

if (grade > 80) { // 满足条件 grade > 80

System.out.println("成绩为优");

} else if (grade > 70) {// 不满足条件 grade > 80 ,但满足条件 grade > 70

System.out.println("成绩为良");

} else if (grade > 60) {

// 不满足条件 grade > 70 ,但满足条件 grade > 60

System.out.println("成绩为中");

} else {

// 不满足条件 grade > 60

System.out.println("成绩为差");

}

}

}

程序的运行结果是()

  • A. 成绩为优

  • B. 成绩为良

  • C. 成绩为中

  • D. 成绩为差

正确答案: B

答案解析:

因为成绩>70小于80,所以程序会执条件“grade>70”的语句。

27. 下列关于变量作用域的说法中,正确的是( )

  • A. 在main()方法中任何位置定义的变量,其作用域为整个main()方法。

  • B. 代码块中定义的变量,在代码块外也是可以使用的。

  • C. 变量的作用域为:从定义处开始,到变量所在代码块结束的位置。

  • D. 变量的作用域不受代码块的限制。

正确答案: C

答案解析:

变量的作用域为:从定义处开始,到变量所在代码块结束位置。

28. 请问在下述程序的空白处填写下列哪段代码,可以求到数组的最小值( )

public class Example01 {

public static void main(String[] args) {

int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定义一个数组

int minIndex = 0; //初始时设第1个角标处的值为最小值

for (int i = 1; i < arr.length; i++) {

if (【】【】_) {

minIndex = i;

}

}

System.out.println("数组中的最小值为:"+arr[minIndex]);

}

}

  • A. i

  • B. arr[i]

  • C. arr[i]>arr[minIndex]

  • D. i>minIndex

正确答案: B

答案解析:

求最小值比较的不是角标大小,而是数组中元素的大小。

29. 若int a = 7;a %= 2;则执行后,变量a的值是()

  • A. 7

  • B. 1

  • C. 2

  • D. 3

正确答案: B

答案解析:“a %= 2;”运算相当于“a = a % 2;”,因此a的值为7模于2后的结果,因此答案为B。

30. 下列选项中,按照箭头方向,需要进行强制类型转换的是( )

  • A. int←short

  • B. int←byte

  • C. int←char

  • D. int←float

正确答案: D

答案解析:

类型转换过程中,范围大的需要强制转换成范围小的。

31. 请阅读下面的程序

public class Test {

public static void main(String[] args) {

int sum = 0;

for (int i = 1; i <= 100; i++) {

if (i % 2 == 0) {

continue;

}

sum +=i;

}

System.out.println("sum = " + sum);

}

}

下列选项中,哪一个是程序的运行结果。( )

  • A. 1050

  • B. 2050

  • C. 2500

  • D. 以上答案都不对

正确答案: C

答案解析:

程序表示求出100以内,所有奇数的和。

32. 请阅读下面的程序

public class Demo {

public static void sum(int a, int b) {

System.out.println("int:" + (a + b));

}

public static void sum(int a, float b) {

System.out.println("float:" + (a + b));

}

public static void sum(int a, double b) {

System.out.println("double:" + (a + b));

}

public static void main(String[] args) {

int a = 10;

long b = 20;

sum(a, b);

}

}

下列选项中,哪一个是程序的运行结果( )

  • A. int:30

  • B. float:30.0

  • C. double:30.0

  • D. int:30.0

正确答案: B

答案解析:

在主方法中定义一个int类型,一个long,按照正常做法,是找对应的类型,可是没有,这个时候要想到基本类型的隐式转换。Long会自动转到float。所以选择B。

33. 下列选项中,按照箭头方向,可以进行自动类型转换的是( )

  • A. char→int

  • B. short→char

  • C. float→long

  • D. char→short

正确答案: A

答案解析:

类型转换过程中,只能范围小的会自动转成范围大的。

34. 下列关于数组最值的描述中,错误的是( )

  • A. 要想求数组的最值必须先定义一个数组

  • B. 在求数组最值时,初始时一定要将数组中的第一个元素的值赋给变量

  • C. 求数组最值过程中,一定要对数组进行遍历

  • D. 在求数组最大值时,使用变量记住每次比较后较大的那个值

正确答案: B

35. 请阅读下面的程序

public class SwitchDemo3 {

public static void main(String[] args) {

char c = ‘B’;

switch(c) {

case ‘A’:

System.out.println(“优”);

break;

case ‘B’:

System.out.println(“良”);

break;

case ‘C’:

System.out.println(“差”);

break;

}

}

}

下列选项中,哪一个才是程序的运行结果( )

  • A. 优

  • B. 良

  • C. 差

  • D. 编译失败

正确答案: B

答案解析:

char c=’B’与case ‘B’相匹配,因此输出结果为“良”。

36. 下面关于字符类型变量的定义中,错误的是( )

  • A. char a='a';

  • B. char b=97;

  • C. char c='c';

  • D. char d="a";

正确答案: D

答案解析:

char类型数据在定义时需要使用单引号引起的单个字符,也可以赋值为0-65535之间的数字。也可以使用Unicode 代码来描述。

37. 下面选项中,哪个是短路与运算符( )

  • A. &

  • B. &&

  • C. |

  • D. ||

正确答案: B

答案解析:

运算符“&”和“&&”都表示与操作,当且仅当运算符两边的操作数都为true时,其结果才为true,否则结果为false。当运算符“&”和“&&”的右边为表达式时,两者在使用上还有一定的区别。在使用“&”进行运算时,不论左边为true或者false,右边的表达式都会进行运算。如果使用“&&”进行运算,当左边为false时,右边的表达式不会进行运算,因此“&&”被称作短路与。

38. while语句的循环体中不能包含的语句是( )

  • A. while语句

  • B. 方法定义语句

  • C. if语句

  • D. switch语句

正确答案: B

答案解析:

while循环体中可以嵌套其它循环语句以及条件判断语句,但不能包含方法定义语句。

39. 请阅读下面的程序

public class SwitchDemo3 {

public static void main(String[] args) {

char c = ‘B’;

switch(c) {

case ‘A’:

System.out.println(“优”);

break;

case ‘B’:

System.out.println(“良”);

break;

case ‘C’:

System.out.println(“差”);

break;

}

}

}

下列选项中,哪一个才是程序的运行结果( )

  • A. 优

  • B. 良

  • C. 差

  • D. 编译失败

正确答案: B

答案解析:

char c=’B’与case ‘B’相匹配,因此输出结果为“良”。

40. 下面关于整数类型的描述中,错误的是( )

  • A. byte是java中的整数类型,它的取值范围是-128到127。

  • B. java中的整数有正负之分。

  • C. bit是java中的整数类型,它代表的是1个字节。

  • D. int是java中的整数类型,它在内存中占4个字节。

正确答案: C

答案解析:

java中的整型数据是分正负的,它细分为byte,short,int,long,在内存中分别占1,2,4,8个字节。

41. 请阅读下面的代码

boolean a = false;

boolean b = true;

boolean c= ( a&&b)&&(!b);

int result = (c = = false)?1:2;

当语句执行完,变量c与result的值为( )

  • A. false和1

  • B. true和2

  • C. true和1

  • D. false和2

正确答案: A

答案解析:

三元运算符条件表达式为真就返回第一个表达式的值,条件表达式为假就返回第二个表达式的值。&&运算符的特点是,当且仅当运算符两边的操作数都为true时,其结果才为true,否则结果为false,因此c=false,三元运算符的表达式c==false就为true,因此返回结果为1。

42. 请阅读下面的程序

public class Test {

public static void main(String[] args) {

for(int x =0;x<5;x++){

if(x%2==0)

break;

System.out.println(x);

}

}

}

运行结果正确的是()

  • A. 12345

  • B. 024

  • C. 13

  • D. 不输出任何内容

正确答案: D

答案解析:

由于上述程序在for循环中使用了break语句,当执行到break语句时,就会跳出本次循环, break后的语句一直没有机会执行,因此,最后什么都不会输出。

43. 阅读下段代码片段

public static void main(String[] args) {

{

int a = 1;

System.out.print(a);

}

{

int a = 2;

System.out.print(a);

}

int a = 3;

System.out.print(a);

}

下列选项中,哪一个是程序正确的运行结果( )

  • A. 123

  • B. 111

  • C. 121

  • D. 编译不通过

正确答案: A

44. 下面选项中,哪一个是合法的标识符( )

  • A. hello.world

  • B. 1Demo

  • C. _3_

  • D. class

正确答案: C

答案解析:

标识符可以由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是Java中的关键字。

45. 下列选项中,不属于赋值运算符的是( )

  • A. -=

  • B. =

  • C. ==

  • D. *=

正确答案: C

答案解析:

选项C属于比较运算符,其他三项属于赋值运算符。

46. 下面代码中,哪一项是正确定义了一个3*4的二维数组( )

  • A. int[][]arr=newint[3][4]

  • B. int[][]arr=newint[3][]

  • C. int[][]arr=newint[][4]

  • D. int[][]arr={{1,2},{3,4,5},{6}}

正确答案: A

答案解析:

只有1选项正确给出了二维数组的长度,以及每一个一维数组的元素个数。

47. 下列选项中,不属于比较运算符的是( )

  • A. =

  • B. ==

  • C. <

  • D. <=

正确答案: A

答案解析:

“=”属于赋值运算符,不属于比较运算符。

48. 下列关于注释作用的描述中,错误的是()

  • A. 可以对程序进行说明

  • B. 会参与编译

  • C. 可以帮助调试程序

  • D. 帮助整理编程思路

正确答案: B

答案解析:

注释不参与编译。

49. 下列选项中,不属于Java中关键字的是()

  • A. const

  • B. false

  • C. Final

  • D. try

正确答案: C

答案解析:

Java中的关键字都是小写的。

50. 下列选项中,不属于Java中关键字的是( )

  • A. const

  • B. false

  • C. Final

  • D. try

正确答案: C

51. 下列有关数组中元素位置交换的描述,错误的是( )

  • A. 位置交换的过程中需要借助一个中间变量

  • B. 位置交换的过程至少需要三步

  • C. 位置交换后数组的角标顺序发生了改变

  • D. 位置交换后数组的角标顺序不会发生改变

正确答案: C

答案解析:

数组角标顺序不会变化,只是角标上的值发生了变化。

52. 下列选项中,属于布尔常量的是( )

  • A. 198

  • B. 2e3f

  • C. true

  • D. null

正确答案: C

答案解析:

198属于整型常量,2e3f属于浮点数常量,null属于null常量。

53. 下列选项中,用于引入包的关键字是( )

  • A. class

  • B. import

  • C. package

  • D. static

正确答案: B

答案解析:

import关键字的作用是引入包。

54. 以下标识符中,不合法的是( )

  • A. user

  • B. $inner

  • C. class

  • D. login_1

正确答案: C

答案解析:Java中的class是关键字所以不能作为标识符

55. 下列选项中,属于浮点数常量的是( )

  • A. 198

  • B. 2e3f

  • C. true

  • D. null

正确答案: B

答案解析:

198属于整型常量,true属于布尔常量,null属于null常量。

56. 下面关于布尔类型变量的定义中,正确的是( )

  • A. boolean a=TRUE;

  • B. boolean b=FALSE;

  • C. boolean c='true';

  • D. boolean d=false;

正确答案: D

答案解析:

布尔类型的变量只有两个值,即true和false。

57. 以下关于变量的定义,正确的是 ( )

  • A. int a=10;

  • B. b=2;

  • C. int =20;

  • D. int a;b=a+10;

正确答案: A

答案解析:变量定义的基本格式 数据类型 变量名=值;变量一定要先初始化后才可以使用。

58. 下面浮点型数据的定义中,错误的是( )

  • A. float a=1.23;

  • B. double b=1.23;

  • C. double c=1.5E4;

  • D. float d='a';

正确答案: A

答案解析:

float类型的数据在定义浮点型数据时,必须在后面加上f或F;double类型的数据在定义时可以在后面加上d或D,也可以不加。

59. int a[]={45,4,67,23,65,87,34,52,56};数组中a[5]的值为( )

  • A. 23

  • B. 45

  • C. 65

  • D. 87

正确答案: D

答案解析:数组的索引值从0开始,a[5]表示第6个元素即87。

60. 下列选项中,不属于逻辑运算符的是()

  • A. !

  • B. &&

  • C. ||

  • D. ~

正确答案: D

答案解析:

“!”逻辑非运算符,“&&”表示短路与逻辑运算符,“||”表示短路或逻辑运算符,“~”表示取反的位运算符。

61. 关于continue语句的使用范围,下列说法正确的是( )

  • A. continue语句可以在选择语句中使用

  • B. continue语句可以在条件语句中使用

  • C. continue语句可以在循环语句中使用

  • D. 不输出任何内容

正确答案: C

答案解析:

continue语句只能在循环语句中使用。

62. 以下标识符中,不合法的是( )

  • A. user

  • B. $inner

  • C. class

  • D. login_1

正确答案: C

答案解析:

class为java中的关键字。

63. 请阅读下面的程序

public class Example03 {

public static void main(String[] args) {

int x = 3;

if (x > 5) {

System.out.println("a");

} else {

System.out.println("b");

}

}

}

程序的运行结果是()

  • A. true

  • B. false

  • C. a

  • D. b

正确答案: D

答案解析:

因为判断条件不成立3>5不成立,所以执行会执行else中的语句,输出b。

64. while语句的循环体中不能包含的语句是( )

  • A. while语句

  • B. 方法定义语句

  • C. if语句

  • D. switch语句

正确答案: B

答案解析:while循环体中可以嵌套其它循环语句以及条件判断语句,但不能包含方法定义语句。

65. 请阅读下面的程序

public class Test {

public static void main(String[] args) {

int m = 37;

int n = 13;

while (m != n) {

while (m > n) {

m -= n;

}

while (m < n) {

n -= m;

}

}

System.out.println("m=" + m);

}

}

下列选项中,哪一个是正确的运行结果( )

  • A. m=37

  • B. m=13

  • C. m=1

  • D. m=2

正确答案: C

答案解析:

本题中有三个循环语句,首先在外层循环中判断m!=n是否成立,如果成立进入内层循环,然后在内层循环中分别比较m>n还mn,会执行嵌套循环中的第2个,最终输出结果为1。

66. 下列数据类型进行运算时,哪一个会发生自动类型提升( )

  • A. int+int

  • B. long+long

  • C. byte+byte

  • D. double+double

正确答案: C

答案解析:

byte型的变量在运算期间类型会自动提升为int型。

67. 下列关于数据类型的说法中,错误的是( )

  • A. Java中的数据类型分为基本数据类型和引用数据类型

  • B. int类型数据占4个字节

  • C. 浮点数类型变量不能赋予一个整数数值

  • D. 布尔类型的变量只有true和false这两个值

正确答案: C

答案解析:

浮点数类型变量可以赋予一个整数数值。

68. 请阅读下面的程序

public class Test {

public static void main(String[] args) {

int i = 0;

int count = 0;

do {

if (!(i + "").contains("4")) {

count++;

}

i++;

} while (i < 500);

System.out.println("一共有:" + count);

}

}

下列选项中,哪一个是程序运行后count的值( )

  • A. 322

  • B. 323

  • C. 324

  • D. 325

正确答案: C

答案解析:

判断500以内的数字,不包含4的个数,499-99-40-36=324。

99表示以4为百位数数字的个数,40表示以4为十位数数字的个数,36=4*9表示以4位个位数数字的个数。

69. 100属于下列哪种类型的常量( )

  • A. 布尔类型

  • B. 字符类型

  • C. 整数类型

  • D. 浮点类型

正确答案: C

答案解析:

100属于整数类型的常量。

70. 下列关于条件语句的描述中,错误的是( )

  • A. if语句中的条件表达式是一个布尔值。

  • B. 选择语句分为if条件语句和switch条件语句。

  • C. switch语句中的表达式只能是布尔类型的值。

  • D. switch语句只能针对某个表达式的值作出判断。

正确答案: C

答案解析:

switch语句中的表达式不是布尔值,switch语句中的表达式可以是byte、short、char、int等类型的值。

71. 下列选项中,哪一个不能通过编译( )

  • A. byte a=1;

  • B. short b=100;

  • C. int c='a';

  • D. long d=8888888888;

正确答案: D

答案解析:java中的整型数据默认是int类型,long d=8888888888;它的值超过了int类型的范围,这时如果要描述成一个long数据,必须在值后面加上L后l。

72. 声明一个数组,【】_[ ] a = new String[]{};空格处应该填写的的内容为()

  • A. int

  • B. double

  • C. String

  • D. string

正确答案: C

答案解析:

根据类型[] 数组名 = new 类型[]{元素,元素,……};的格式,此处需要填String。

73. 下列选项中,哪一个是多行注释符号( )

  • A. //**//

  • B. /*/*

  • C. //

  • D. /**/

正确答案: D

答案解析:

/* */ 表示多行注释,以“/*”起始,以“*/”结束。

74. 下面关于字符变量的定义中,错误的是( )

  • A. char a='a';

  • B. char b=97;

  • C. char c=0x61;

  • D. char d=A;

正确答案: D

答案解析:

char类型数据在定义时需要使用单引号引起的单个字符,也可以赋值为0-65535之间的数字。

75. 请阅读下面的程序

public class Test {

public static void main(String[] args) {

for(int x =0;x<5;x++)

{

if(x%2==0)

break;

System.out.print(x+” “);

}

}

}

下列选项中,哪一个是程序的运行结果( )

  • A. 12345

  • B. 024

  • C. 13

  • D. 不输出任何内容

正确答案: D

答案解析:

由于上述程序在for循环中使用了break语句,当执行到break语句时,就会跳出本次循环, break后的语句一直没有机会执行,因此,最后什么都不会输出。

76. 以下关于变量的定义,正确的是 ( )

  • A. int a=10;

  • B. b=2;

  • C. int=20;

  • D. int a;b=a+10;

正确答案: A

答案解析:

变量定义的基本格式 数据类型 变量名=值;变量一定要先初始化后才可以使用。

77. 下列选项中关于二维数组的定义,错误的是( )

  • A. int[][]arr=newint[][2]

  • B. int[][]arr=newint[1][2]

  • C. int[][]arr=newint[2][]

  • D. int[][]arr={{1},{2,3},{4,5,6}}

正确答案: A

答案解析:

由二维数组的定义方式可知,int[][] arr = new int[][2] 中的int[]长度不能为空。

78. 下列选项中,哪一个是十进制数16的八进制值( )

  • A. 1110

  • B. 020

  • C. 10000

  • D. 0110

正确答案: B

答案解析:

十进制16的八进制是020,二进制是10000。

79. 下列选项中,属于字符常量的是( )

  • A. 198

  • B. 2e3f

  • C. "123"

  • D. 'a'

正确答案: D

答案解析:

198属于整型常量,2e3f属于浮点数常量,“123”属于字符串常量。

80. 下列关于int类型变量的定义,错误的是( )

  • A. int a=10;

  • B. int b,c=20;

  • C. int d=e=30;

  • D. int f=40;

正确答案: C

变量定义的基本格式 数据类型 变量名=值;变量一定要先初始化后才可以使用。

81. 请阅读下面的程序。

Class WhileDemo5 {

public static void main(String[] args) {

int n = 5;

while (n < 10) {

System.out.print(n);

n++;

}

}

}

下列选项中,哪一个是程序运行的结果( )

  • A. 无输出

  • B. 输出56789

  • C. 死循环

  • D. 编译错误

正确答案: B

82. 请阅读下列示意代码

int a = 1;

int b = a++;

int c = ++a;

int d = a++ + ++a;

System.out.print(a + "," + b + "," + c + "," + d);

下面选项中,哪一个是程序的输出结果( )

  • A. 5,1,3,9

  • B. 5,2,3,9

  • C. 5,1,2,9

  • D. 5,1,3,8

正确答案: D

答案解析:

++在前表示先运行自加运算,++在后表示后运行自加运算。

83. 表达式7%(-3)的运算结果为( )

  • A. -2

  • B. -1

  • C. 2

  • D. 1

正确答案: D

答案解析:

在进行取模(%)运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。

84. 下面选项中,哪一个不是Java中的关键字( )

  • A. sizeof

  • B. const

  • C. public

  • D. goto

正确答案: A

答案解析:

sizeof不属于Java语言中的关键字。

85. 假设x为int类型,那么下列选项中可以作为if语句的判断条件的是( )

  • A. x=4

  • B. x&3

  • C. x++

  • D. x<10

正确答案: D

答案解析:

if判断条件只能是布尔值,上述选项中,只有x<10这个表达式的值是布尔值。

86. 下列关于变量作用域的说法中,正确的是()

  • A. 在main()方法中任何位置定义的变量,其作用域为整个main()方法。

  • B. 代码块中定义的变量,在代码块外也是可以使用的。

  • C. 变量的作用域为:从定义处开始,到变量所在代码块结束的位置。

  • D. 变量的作用域不受代码块的限制。

正确答案: C

答案解析:变量的作用域为:从定义处开始,到变量所在代码块结束位置。

87. 请阅读下面的程序片段

int x = 1, y = 1;

if (x++ == 2 & ++y == 2) {

x = 7;

}

System.out.println("x=" + x + " , y=" + y);

下列选项中,哪一个是程序的运行结果( )

  • A. x=1,y=1

  • B. x=7,y=1

  • C. x=7,y=2

  • D. x=2,y=2

正确答案: D

答案解析:

&符号的特点是两边的条件表达式只要有一个为false结果就为false,并且无论左边为true或者false,右边的表达式都会进行运算;++符号的特点是在变量前面先运算后赋值,在变量后面先赋值再运算,因此最终结果为x=2,y=2。

88. 下列转义字符中,不合法的是( )

  • A. '\n'

  • B. '\x'

  • C. '\r'

  • D. '\t'

正确答案: B

答案解析:

Java中的转义字符有\n、\r、\t、\b、\'、\"、\\等。

89. 下列选项中,属于布尔常量的是()

  • A. 198

  • B. 2e3f

  • C. true

  • D. null

正确答案: C

答案解析:198属于整型常量,2e3f属于浮点数常量,null属于null常量。

90. 下列常量中,属于整型常量的是( )

  • A. 198

  • B. 2e3f

  • C. true

  • D. null

正确答案: A

答案解析:

2e3f属于浮点数常量,true属于布尔常量,null属于null常量。

91. 请阅读下面的程序

class WhileDemo4 {

public static void main(String[] args) {

int n = 5;

while (n > 10) {

System.out.print(n);

n++;

}

}

}

下列选项中,哪一个是程序运行的结果( )

  • A. 无输出

  • B. 输出56789

  • C. 死循环

  • D. 编译错误

正确答案: A

答案解析:

由于变量n=5,因此while条件为false,循环不执行,没有任何结果输出。

92. 下列关于while语句的描述中,正确的是( )

  • A. while语句循环体中可以没有语句

  • B. while语句的循环条件可以是整形变量

  • C. while语句的循环体必须使用大括号

  • D. while语句的循环体至少被执行一次

正确答案: A

答案解析:

while语句的循环条件必须是boolean类型的,

while语句的循环体中只有一条语句时可以不用大括号,

while语句的循环条件不满足时,循环体中的内容不执行。

93. 下列选项中,哪一个是十进制数6的二进制值( )

  • A. 111

  • B. 101

  • C. 110

  • D. 011

正确答案: C

答案解析:

十进制转换成二进制就是一个除以2取余数的过程。把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。

94. 以下关于三元运算符的说法中,正确的是()

  • A. 三元运算符第一个表达式的结果必须是boolean类型值。

  • B. 三元运算符第一个表达式的结果可以是任意类型的值。

  • C. 三元运算符只能得到基本类型的结果。

  • D. 以上说法都不对。

正确答案: A

答案解析:

三元表达式语法结构:

判断条件 ? 表达式1 : 表达式2

当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值。

95. 请阅读下面的程序

class Test

{

public static void main(String[] args)

{

int a = 3;

int b = 6;

System.out.print(a==b);

System.out.print(a<b);

System.out.print(a!=b);

System.out.print(a>=b);

}

}

下列选项中,哪个是程序的运行结果()

  • A. false false true false

  • B. false falset rue true

  • C. false true true false

  • D. true false false true

正确答案: C

答案解析:

3==6(错),3<6(对),3!=6(对),3>=6(错)

96. 若int[][] arr= {{1,2,3}},则arr[0][1]的结果为( )

  • A. 0

  • B. 1

  • C. 2

  • D. 3

正确答案: C

答案解析:

题目中定义的二维数组只有一个一维数组,arr[0][1]表示要获取的是一维数组的第二个元素,因此正确答案为第3项。

97. 下列关于多行注释的说法中,哪一个是正确的( )

  • A. 多行注释中不能嵌套单行注释

  • B. 多行注释中可以嵌套多行注释

  • C. 多行注释中不可以有分号,逗号,括号等符号

  • D. 多行注释中可以没有换行

正确答案: D

答案解析:

多行注释中可以没有换行。

98. 下列选项中,不属于比较运算符的是( )

  • A. =

  • B. ==

  • C. <

  • D. <=

正确答案: A

99. 请阅读下面的程序

public class Test {

public static void main(String[] args) {

int a[] = {2,0,4,1,8,3,5};

int temp;

for (int i = 0; i < a.length - 1; i++) {

for (int j = a.length - 1; j > i; j--) {

if (a[j] < a[j - 1]) {

temp = a[j];

a[j] = a[j - 1];

a[j - 1] = temp;

}

}

}

for (Integer i : a) {

System.out.println(i);

}

}

}

下列选项中,哪一个是程序的运行结果。( )

  • A. 8,5,4,3,2,1,0

  • B. 0,1,2,3,4,5,8

  • C. 2,0,4,1,8,3,5

  • D.5,3,8,1,4,0,2

正确答案: B

答案解析:

数组的冒泡排序法。

100. 请阅读下面的程序。

public class Test {

public static void main(String[] args) {

int a = 0;

int b = 0;

for (int i = 1; i <= 5; i++) {

a = i% 2;

while (a-- >= 0) {

b++;

}

}

System.out.println("a=" + a + ",b=" + b);

}

}

下列选项中,哪一个是正确的运行结果( )

  • A. a=8,b=-2

  • B. a=-2,b=8

  • C. a=3,b=0

  • D. a=0,b=3

正确答案: B

答案解析:

本题中有两个循环语句,分别是外层循环的for语句和内层循环的while语句,首先程序会执行for循环中的语句,并执行循环体中的表达式a=i%2,计算出a的值,然后在进入while循环计算b的值,循环往复直到外层循环条件i>5为止。

101. 请阅读下面的程序片段

int x = 3;

if (x > 5) {

System.out.print("a");

} else {

System.out.print("b");

}

下列选项中,哪个是程序的运行结果( )

  • A. a

  • B. b

  • C. ab

  • D. 编译错误

正确答案: B

答案解析:

if语句中的判断条件成立时,会执行if语句中的内容,否则会执行else语句中的内容。

102. 请阅读下面的程序

public class Test {

public static void main(String[] args) {

for(int x = 0 ; x <=3 ; x++){

continue;

System.out.print(x%2+" ");

}

}

}

下列选项中,哪一个是程序的运行结果( )

  • A. 0123

  • B. 0121

  • C. 012

  • D. 编译失败

正确答案: D

答案解析:

continue语句的作用是终止本次循环,因此contine后的代码永远不会被执行,编译失败。

103. 下列浮点数的定义中,正确的是( )

  • A. float f = 1F;

  • B. float f = 1.0;

  • C. float f = '1';

  • D. float f = "1";

正确答案: A

答案解析:在Java中,浮点型数会被默认为double类型的值,因此在为一个float类型的变量赋值时需要在浮点型数据后面加上字母“F”(或者小写“f”),float数据取值范围比较大,可以直接赋值为字符型和常用整型数据。

104. 关于变量类型转换的描述中,正确的是()

  • A. 只有数据类型相同的数据才能进行运算。

  • B. byte类型和short类型的数据是不能一起运算的。

  • C. 两个byte类型数据一起运算时会把先自动提升到int类型再运算。

  • D. 两个整型在一起运算时,结果一定是int。

正确答案: C

答案解析:byte类型和short类型的数据一起运算时会把先自动提升到int类型,再运算。

105. 下列选项中,不属于赋值运算符的是( )

  • A. -=

  • B. =

  • C. ==

  • D. *=

正确答案: C

答案解析:选项C属于比较运算符,其他三项属于赋值运算符。

106. 下列选项中,按照箭头方向,需要进行强制类型转换的是( )

  • A. double←float

  • B. float←long

  • C. int←char

  • D. char←byte

正确答案: D

答案解析:

byte是整数型变量,取值范围小于char,但是char是字符型变量,所以需要强制转换。

107. 表达式3510/1000的运算结果为( )

  • A. 3

  • B. 3.51

  • C. 3.510

  • D. 4

正确答案: A

答案解析:

整数之间相除,会忽略小数部分。

108. 若int a = 7;a %= 2;则执行后,变量a的值是( )

  • A. 7

  • B. 1

  • C. 2

  • D. 3

正确答案: B

答案解析:

“a %= 2;”运算相当于“a = a % 2;”,因此a的值为7模于2后的结果,因此答案为B。

109. 以下语法格式中,哪一个是三元运算符的语法格式( )

  • A. 表达式1:表达式2?表达式3

  • B. 表达式1?表达式2:表达式3

  • C. 表达式1:表达式2:表达式3

  • D. 以上答案都不对

正确答案: B

答案解析:

三元运算符语法格式:

表达式1?表达式2:表达式3;

110. 请阅读下面的程序

public class Test {

public static void main(String[] args) {

int temp = 0;

for (int i = 1; i < 5; i++) {

for (int j = 0; j < i; j++) {

temp++;

}

}

System.out.println(temp);

}

}

下列选项中,哪个是程序的运行结果()

  • A. 5

  • B. 9

  • C. 10

  • D. 15

正确答案: C

答案解析:

循环结束后temp的值为10。

111. 请阅读下面的程序片段

boolean b=true;

if(b=false) {

System.out.println("a");

} else if(b) {

System.out.println(b);

} else if(!b) {

System.out.println("c");

} else {

System.out.println("d");

}

下面选项中,哪一个是程序的执行结果( )

  • A. a

  • B. b

  • C. c

  • D. d

正确答案: C

答案解析:

第一个if语句里面将b的值赋值为了false,所以!b才是true,因此输出结果是c。

112. 请阅读下面的程序

public class Test {

public static void main(String[] args) {

int a[ ] = { 2, 0, 4, 1, 8, 3, 5 };

int temp;

for (int i = 0; i < a.length - 1; i++) {

for (int j = a.length - 1; j > i; j--) {

if (a[j] < a[j - 1]) {

temp = a[j];

a[j] = a[j - 1];

a[j - 1] = temp;

}

}

}

for (Integer i : a) {

System.out.print(i);

}

}

}

下列选项中,哪个是程序的运行结果()

  • A. 8543210

  • B. 0123458

  • C. 2041835

  • D. 以上答案都不对

正确答案: B

答案解析:

由于使用的输出语句会换行 ,所以程序的运行结果为B选项。

113. 当String s=null;时,下列选项中会抛出空指针异常的是( )

  • A. if((s!=null)&(s.length()>0))

  • B. if((s!=null)&&(s.length()>0))

  • C. if((s!=null)&&(s.length()==0))

  • D. if((s==null)||(s.length()==0))

正确答案: A

答案解析:

null赋值给引用型变量,不能访问该类型中的成员,由于选项1中使用的运算符号为&当(s!=null)无论为true或者false,右边的表达式都会执行,因此就会出现空指针异常。

114. 下列关于浮点型数据的定义,哪一个不能通过编译( )

  • A. double a=12.45;

  • B. float b=12.45;

  • C. double c=100;

  • D. float d=100;

正确答案: B

答案解析:

float类型的数据在定义浮点型数据时,必须在后面加上f或F.double类型的数据在定义时可以在后面加上d或D,也可以不加。

115. 下列关于case关键字的说法中,错误的是( )

  • A. case关键字后面必须是常量

  • B. case关键字后面的break必须存在

  • C. case关键字后面的break可以没有

  • D. case关键字后面的值必须不一样

正确答案: B

答案解析:

case关键字后面的break可以没有。

116. 下列数据类型进行运算时,哪一个会发生自动类型提升()

  • A. int+int

  • B. long+long

  • C. byte+byte

  • D. double+double

正确答案: C

答案解析:byte型的变量在运算期间类型会自动提升为int型。

117. 阅读下列代码

System.out.println(“Hello” + 9 + 1);

下列选项中,哪个是正确的输出结果( )

  • A. Hello91

  • B. Hello10

  • C. Compilationfails

  • D. Anexceptionisthrownatruntime

正确答案: A

答案解析:

字符串常量与其他数据类型常量使用“+”进行操作时,返回结果还是字符串类型,因此输出Hello91。

118. 关于表达式1234/1000 * 1000的运算结果,下列哪个选项是正确的( )

  • A. 1234

  • B. 1000

  • C. 1234.0

  • D. 以上都不对

正确答案: B

答案解析:

Java中,整数之间相除,会忽略小数部分,得到的结果还是整型数据。

119. 在for循环中,分别用①表示初始化表达式,②表示循环条件,③表示操作表达式,④表示循环体,通过序号分析for循环的执行流程。在循环条件的结果为true时,下列执行步骤正确的是( )

  • A. ①②④③

  • B. ①②③④

  • C. ④③②①

  • D. ④②③①

正确答案: A

120. 请阅读下列的程序

public class Example01 {

public static void main(String[] args) {

int num = 127;

byte b = num;

System.out.println(b);

}

}

程序的运行结果是( )

  • A. 编译报错

  • B. 编译通过,执行输出127

  • C. 编译通过,执行报错

  • D. 以上选项均不正确

正确答案: A

答案解析:

将一个int型num变量的值赋给byte类型的变量b时,int类型的取值范围大于byte类型的取值范围,这样的赋值会导致数值溢出,需要进行强制类型转换,否则编译不能通过。

二. 多选题(共5题,2分)

121. 下列关于方法重载的说法中,正确的是( )

  • A. 形式参数的个数不同。

  • B. 形式参数的个数不同,数据类型不同。

  • C. 形式参数的个数相同,数据类型不同。

  • D. 形式参数的个数相同,数据类型顺序不同。

正确答案: ABCD

答案解析:方法的重载分为三种,形式参数的个数不同,形式参数的数据类型不同,形式参数的个数相同数据类型的顺序不同。

122. 下列选项中关于二维数组的定义,格式正确的是( )

  • A. int[][]arr=newint[3][4]

  • B. int[][]arr=newint[3][]

  • C. int[][]arr=newint[][4]

  • D. int[][]arr={{1,2},{3,4,5},{6}}

正确答案: ABD

答案解析:选项C错误,因为该选项没有给出二维数组的长度。

123. 下列关于default语句的说法中,正确的是( )

  • A. default不是swicth语句中必须的。

  • B. default代表的是默认要执行的语句,也就是没有匹配就执行default。

  • C. 在switch语句中,default必须存在。

  • D. 一般情况下,default放置在switch语句的最后面。

正确答案: ABD

答案解析:default语句代表默认要执行的语句,当不满足switch中的条件表达式时,就执行default语句。default语句可以使用也可以不使用,如果使用,通常情况都放在switch语句的最后。

124. 下面选项中,哪些是java中的关键字( )

  • A. static

  • B. int

  • C. class

  • D. String

正确答案: ABC

答案解析:Java中的关键字必须是小写,所以String不是

125. 下列结构语句中,可以用来遍历数组的是( )

  • A. if

  • B. while

  • C. switch

  • D. for

正确答案: BD

三. 填空题(共26题,1)

126. (填空题)方法重载要满足两个条件,一是【】相同,二是【】不同。

正确答案:

(1) 方法名

(2) 参数列表

127. (填空题)整型常量是整数类型的数据,有【】、【】、【】和【】4种表示形式。

正确答案:

(1) 二进制

(2) 八进制

(3) 十进制

(4) 十六进制

128. (填空题)文档注释是以【】符号开头,以【】符号结尾

正确答案:

(1) /**

(2) */

129. (填空题)当break语句出现在嵌套循环中的内层循环时,它只能跳出【】。

正确答案:

(1) 内层循环

130. (填空题)当int x=3;int y=4;时,则表达式int z = x>y?x:y;中,z的结果是【】。

正确答案:

(1) 4

答案解析:

当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值。由于上述题干中x>y条件不成立,所以结果为4。

131. (填空题)for循环语句是最常用的循环语句,一般用在【】的情况下。

正确答案:

(1) 循环次数已知

132. (填空题)在循环语句中,【】用于终止本次循环,执行下一次循环。

正确答案:

(1) continue

133. (填空题)单精度浮点数后面以【】结尾,而双精度浮点数则以【】结尾。

正确答案:

(1) F或f

(2) D或d

134. (填空题)多行注释是以“/*”符号开头,以【】符号结尾。

正确答案:

(1) */

答案解析:多行注释顾名思义就是在注释中的内容可以为多行,它以符号“/*”开头,以符号“*/”结尾。

135. (填空题)while语句中,循环条件必须是【】(boolean)类型的数据。

正确答案:

(1) 布尔

答案解析:while(boolean f){}while语句的循环条件一定是布尔类型的数据,当循环条件为true时,执行循环体中的内容,当循环条件为false时,整个循环过程才会结束。

136. (填空题)标识符可以由字母、数字、【】和【】组成,但标识符不能以数字开头,不能是Java中的【】。

正确答案:

(1) 下画线(_)

(2) 美元符号($)

(3) 关键字

137. (填空题)null常量只有一个值null,表示对象的引用为【】。

正确答案:

(1) 空

138. (填空题)Java语言中,int类型所占存储空间为【】个字节。

正确答案:

(1) 4

139. (填空题)每个字符都有自己的ASCII整数编码,字符’a’的编码是【】。

正确答案:

(1) 97

答案解析:Java中的字符使用Unicode编码表,Unicode兼容ASCII编码表,在ASCII编码表中小写的’a’字符编码为97。

140. (填空题)在Java中的跳转语句有【】语句和continue语句。

正确答案:

(1) break

141. (填空题)用于比较两个整数是否相等的运算符是【】。

正确答案:

(1) ==

142. (填空题)switch语句中,case后面的值必须是【】。

正确答案:

(1) 常量

143. (填空题)单行注释通常用于对程序中的某一行代码进行解释,用符号【】表示。

正确答案:

(1) //

144. (填空题)在Java程序代码中,类使用【】关键字定义。

正确答案:

(1) class

145. (填空题)布尔常量有【】和【】两个值。

正确答案:

(1) true

(2) false

146. (填空题)for关键字后面()中包括了三部分内容:初始化表达式、【】和操作表达式,它们之间用【】分隔。

正确答案:

(1) 循环条件

(2) ;

147. (填空题)在定义标识符时,变量名和方法名的第一个单词首字母【】,从第二个单词开始每个单词首字母【】。

正确答案:

(1) 小写

(2) 大写

148. (填空题)Java中所有关键字都是由【】字母组成。

正确答案:

(1) 小写

149. (填空题)根据转换方式的不同,数据类型转换可分为【】和强制类型转换两种。

正确答案:

(1) 自动类型转换

150. (填空题)当方法中的返回值类型是【】时,可以不写return语句。

正确答案:

(1) void

151. (填空题)浮点数常量就是在数学中用到的小数,浮点数分为单精度浮点数【】和双精度浮点数【】两种类型。

正确答案:

(1) float

(2) double

四. 判断题(共85题,39.6分)

152. 当方法中的返回值类型是void时,可以不写return语句。

  • A. 对

  • B. 错

正确答案:

答案解析:

如果方法中没有返回值,返回值类型要声明为void,并且方法中return语句可以省略。

153. do…while和while语句都必须以分号结束。

  • A. 对

  • B. 错

正确答案:

答案解析:

do…while语句必须以分号结束,而while语句不用。

154. continue语句的作用是退出当前循环,不在执行循环语句。

  • A. 对

  • B. 错

正确答案:

答案解析:

continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。

155. 运算符“&”和“&&”都表示“与”操作。

  • A. 对

  • B. 错

正确答案:

答案解析:

运算符“&”和“&&”都表示“与”操作,当运算符两边的操作数任何一边的值为false时,其结果为false,当两边的值都为true时,其结果才为true,它们的运算结果一致。

156. continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。

  • A. 对

  • B. 错

正确答案:

答案解析:

continue语句表示终止本次循环,执行下一次循环。

157. 定义一个方法时,其访问修饰符、返回值类型、方法名的顺序可以互换。

  • A. 对

  • B. 错

正确答案:

答案解析:

在定义方法时,必须要遵循以下格式:

修饰符 返回值类型 方法名([参数类型 参数名1,参数类型 参数名2,……]){

执行语句

158. Jdk5.0以后可以使用enum数据类型作为switch条件表达式的值。

  • A. 对

  • B. 错

正确答案:

答案解析:

在Jdk5.0中,switch语句条件表达式的取值可以是byte、short、int、long、 char、enum这几种数据类型。在JDK7.0中也引入了新特性,switch语句可以接收一个String类型的值。但是switch还是不支持boolean类型。

159. 当int x = 3 , y = 4时,表达式boolean b =x == y ? true : false的结果是false。

  • A. 对

  • B. 错

正确答案:

答案解析:

表达式x == y ? true : false用于判断x是否等于y,若x等于y输出true,否则输出false,由于x和y不相等,因此输出false。

160. class是Java语言的关键字。

  • A. 对

  • B. 错

正确答案:

161. 使用while循环语句来判断如果猜对了,跳出循环,游戏结束;如果猜错了,通过while循环语句进行继续猜数字操作,并在循环内部使用if...else语句对猜错的情况进行提示,以便提高下一次猜数字的准确性。

  • A. 对

  • B. 错

正确答案:

162.

不能通过while循环使程序能够多次键盘输入,每次输入都进行猜数字对错判断。

  • A. 对

  • B. 错

正确答案:

163. 在switch语句中,每个case关键字后面必须有break。

  • A. 对

  • B. 错

正确答案:

答案解析:

在一些特定情况下,为了简化操作可以不写break,但会产生case穿透问题。

164. 在进行自增(++)和自减(--)运算时,如果运算符++或--放在操作数的前面,则先进行自增或自减运算,再进行其他运算。

  • A. 对

  • B. 错

正确答案:

165. 常量就是程序中常常变化的数据。

  • A. 对

  • B. 错

正确答案:

答案解析:

常量就是在程序中固定不变的值,是不能改变的数据。

166. while语句循环体中的内容至少会被执行一次。

  • A. 对

  • B. 错

正确答案:

答案解析:

当while语句的循环条件不满足时,循环体中的内容不执行,当条件满足时,循环体中的内容可以执行多次,因此说while循环体会被执行0~多次。

167. 标识符可以为关键字。

  • A. 对

  • B. 错

正确答案:

168. 在进行自增(++)和自减(--)的运算时,如果运算符(++或--)放在操作数的前面则是先进行自增或自减运算,再进行其它运算。

  • A. 对

  • B. 错

正确答案:

答案解析:

在进行自增(++)和自减(--)的运算时,如果运算符(++或--)放在操作数的前面则是先进行自增或自减运算,再进行其它运算。反之,如果运算符放在操作数的后面则是先进行其它运算再进行自增或自减运算。

169. Java允许在一个程序中定义多个同名的方法,但是参数的类型或个数必须不同,这就是方法的重载。

  • A. 对

  • B. 错

正确答案:

答案解析:

Java允许在一个程序中定义多个同名的方法,但是参数的类型或个数必须不同,这就是方法的重载。

170. 若int[][] arr=new int[][]{{1},{2,3,4},{5,6}},则arr[1][1]的结果为3。

  • A. 对

  • B. 错

正确答案:

答案解析:

题目中给出的二维数组有三个一维数组,第一个一维数组有一个元素,第二个一维数组有三个元素,第三个一维数组有二个元素,arr[1][1]表示要获取的是第二个一维数组的第二个元素,因此结果为3。

171. 在Java中,通过强制类型转换可以将int类型的数据转换为boolean类型。

  • A. 对

  • B. 错

正确答案:

答案解析:

强制类型转换的前提是两种数据类型彼此兼容。在Java中,boolean类型和int类型数据之间不能进行转换。

172. 程序后台要预先生成一个0~9之间的随机数,其具体的方法定义为public int nextInt(int n)。

  • A. 对

  • B. 错

正确答案:

173. while语句必须要有循环条件。

  • A. 对

  • B. 错

正确答案:

答案解析:

while语句小括号中的内容是循环条件,当循环条件为true时,就执行循环体中的内容,否则就不执行循环体中的内容。

174. break语句可以在循环语句或者switch条件语句中使用。

  • A. 对

  • B. 错

正确答案:

答案解析:在switch条件语句和循环语句中都可以使用break语句。当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。

175. Java允许在一个程序中定义多个同名的方法,但是参数的类型或个数必须不同,这就是方法的重载。

  • A. 对

  • B. 错

正确答案:

答案解析:Java允许在一个程序中定义多个同名的方法,但是参数的类型或个数必须不同,这就是方法的重载。

176. 字符串常量既可以用双引号引起来,也可以用单引号引起来。

  • A. 对

  • B. 错

正确答案:

答案解析:

字符串常量用于表示一串连续的字符,并且只能用一对英文半角格式的双引号(” “)引起来。

177. Java中用0和非0的数字表示布尔型常量的值。

  • A. 对

  • B. 错

正确答案:

答案解析:

Java中布尔型常量的值有两种分别是true和false。

178. 数组的排序算法只有冒泡排序这一种。

  • A. 对

  • B. 错

正确答案:

答案解析:数组的排序算法有很多种,包括插入排序、快速排序、选择排序和冒泡排序等等,冒泡排序最常用的排序算法之一。

179. 当char c2='\101';时,System.out.println(c2);的输出结果为A。

  • A. 对

  • B. 错

正确答案:

答案解析:

‘\101’这是ASCII码的转义字符形式,其中101是3位八进制整数,转换成十进制为65,即’A’的编码。

180. 数组的遍历是指依次访问数组中的每个元素。

  • A. 对

  • B. 错

正确答案:

181. 方法的参数列表中必须定义参数。

  • A. 对

  • B. 错

正确答案:

答案解析:

方法的参数列表中可以定义参数,也可以不定义参数。

182. 定义一个方法时,其访问修饰符、返回值类型、方法名的顺序可以互换。

  • A. 对

  • B. 错

正确答案:

183. 数组的最大下标的值比它的长度小1。

  • A. 对

  • B. 错

正确答案:

答案解析:

数组的下标从0开始,所以最大下标的值比长度少1。

184. 代码int[][] arr = new int[][]可以正确的定义一个二维数组。

  • A. 对

  • B. 错

正确答案:

答案解析:

定义二维数组的标准格式是:int[][] arr = new int[3][4]或者int[][] arr = new int[3][]。在没有直接给元素的情况下,必须要给出二维数组的长度。

185. Java语言在定义类时,可以将class写成Class。

  • A. 对

  • B. 错

正确答案:

答案解析:Java语言是严格区分大小写的。在定义类时,不能将class写成Class。

186. 在为double类型的变量赋值时,后面可以加字母D或d,也可以不添加。

  • A. 对

  • B. 错

正确答案:

答案解析:在为浮点数类型的变量赋值时,默认就是double类型。

187. 当break语句出现在嵌套循环中的内层循环时,就无法跳出循环。

  • A. 对

  • B. 错

正确答案:

答案解析:

当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环,如果想使用break语句跳出外层循环则需要对外层循环添加标记。

188. for循环语句一般用在循环次数未知的情况下。

  • A. 对

  • B. 错

正确答案:

答案解析:

for循环语句一般用在循环次数已知的情况下。

189. 在Java中,小数会被默认是double类型的值。

  • A. 对

  • B. 错

正确答案:

答案解析:在Java中,一个小数会被默认是double类型的值,一个整数会被默认是int类型的值。

190. do…while循环体中的内容至少会被执行一次。

  • A. 对

  • B. 错

正确答案:

答案解析:

do…while语句无论循环条件是否成立,循环体中的内容至少被执行一次,这也是它与while的区别。

191. 方法重载与返回值无关,只可以通过参数来判断。

  • A. 对

  • B. 错

正确答案:

答案解析:

多维数组实际上就是数组中嵌套着数组,数组中的元素还是一个数组。

192. 多行注释“/*…*/”中不可以嵌套单行注释“//”。

  • A. 对

  • B. 错

正确答案:

答案解析:

多行注释中是可以嵌套单行注释,但不能嵌套多行注释。

193. 求数组的最值时,只能求数组中的最大值,不能求最小值。

  • A. 对

  • B. 错

正确答案:

答案解析:

求数组的最值时,既能求数组的最大值,也能求最小值。在求最小值时,首先假设数组中第一个元素arr[0]为最小值,然后使用for循环对数组进行遍历,在遍历的过程中只要遇到比min值还小的元素,就将该元素赋值给min。这样一来,变量min就能够在循环结束时记住数组中的最小值。

194. while语句的循环体内最多只能有一条语句。

  • A. 对

  • B. 错

正确答案:

答案解析:

while语句的循环体内可以有0~多条语句。当循环体只有一条语句时,可以不给出大括号。

195. 浮点数常量指的是数学中的小数。

  • A. 对

  • B. 错

正确答案:

答案解析:浮点数常量就是在数学中用到的小数,因此可以说明所有的小数都是浮点型常量。

196. while、do…while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套。

  • A. 对

  • B. 错

正确答案:

197. if()和switch()的小括号中的条件语句的值都是布尔类型。

  • A. 对

  • B. 错

正确答案:

答案解析:

if语句的小括号中是值为布尔类型的条件语句,switch语句的小括号中的值,可以是byte、short、char、int、enum、String等类型。

198. continue语句只能在循环语句中使用。

  • A. 对

  • B. 错

正确答案:

答案解析:continue语句具有局限性,只能在循环语句中使用,不能单独使用。

199. 若int[][] arr={},则arr[0][0]的结果为0。

  • A. 对

  • B. 错

正确答案:

答案解析:

int[][] arr={},表示这个二维数组没有元素,因此获取数组中的元素会有索引越界异常抛出。

200. null常量表示对象的引用为空。

  • A. 对

  • B. 错

正确答案:

答案解析:

Java中null常量只有一个值,它代表对象为空。

201. 当整型常量超出了int类型的取值范围时,那么一定要加“L”或“l”后缀。

  • A. 对

  • B. 错

正确答案:

答案解析:

当整数常量超出int类型取值范围时,需要加L或l后缀,即long类型常量。

202. while循环条件不能是boolean类型的常量。

  • A. 对

  • B. 错

正确答案:

答案解析:

while语句中的循环条件只要是boolean类型就可以,无论常量还是变量。

203. while、do…while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套。

  • A. 对

  • B. 错

正确答案:

答案解析:

嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。while、do…while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套。

204. do…while循环体中的内容至少会被执行一次。

  • A. 对

  • B. 错

正确答案:

答案解析:do…while语句无论循环条件是否成立,循环体中的内容至少被执行一次,这也是它与while的区别。

205. System.out.println(‘a’ + 0);语句的输出结果是a0。

  • A. 对

  • B. 错

正确答案:

答案解析:

字符常量在与整数进行运算时,会先提升为int类型,也就是会查字符对应的ASCII码表,因为a对应的数值是97,因此和0运算之后的结果是97。

206. 一个类中可以定义多个同名的方法,只要他们的返回值类型不同即可。

  • A. 对

  • B. 错

正确答案:

答案解析:

方法的重载与返回值类型无关,只要参数列表不同即可。

207. 数组的排序算法只有冒泡排序这一种。

  • A. 对

  • B. 错

正确答案:

答案解析:

数组的排序算法有很多种,包括插入排序、快速排序、选择排序和冒泡排序等等,冒泡排序最常用的排序算法之一。

208. 逻辑运算符用于对布尔型的数据进行操作,其结果仍是一个布尔型。

  • A. 对

  • B. 错

正确答案:

209. 代码int[][] arr = new int[3][4]可以正确的定义一个二维数组。

  • A. 对

  • B. 错

正确答案:

答案解析:

题中的代码相当于定义了一个3*4的二维数组,即二维数组的长度为3,每个二维数组中的元素又是一个长度为4的数组。

210. ‘\u0000’表示一个空白字符。

  • A. 对

  • B. 错

正确答案:

211. 以下代码能够从键盘输入中读取一个字符串:

Scanner sc = new Scanner(System.in);

String str = sc.next ();

  • A. 对

  • B. 错

正确答案:

212. 在商城库存清单程序中,每种商品的详细信息包括品牌型号、尺寸、价格、配置和库存数。

  • A. 对

  • B. 错

正确答案:

213. 通过创建一个String类型的数组students来存储多个同学的姓名,借助Scanner类通过键盘输入的方式输入同学的姓名,并将这些姓名依次存储到数组元素中。

  • A. 对

  • B. 错

正确答案:

214. 在Java中,小数会被默认是double类型的值。

  • A. 对

  • B. 错

正确答案:

答案解析:

在Java中,一个小数会被默认是double类型的值,一个整数会被默认是int类型的值。

215. switch语句中的条件表达式可以是Java中的任意一种数据类型。

  • A. 对

  • B. 错

正确答案:

答案解析:

在Jdk5.0中,switch语句条件表达式的取值可以是byte、short、int、long、 char、enum这几种数据类型。在JDK7.0中也引入了新特性,switch语句可以接收一个String类型的值。但是switch还是不支持boolean类型。

216. 在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。

  • A. 对

  • B. 错

正确答案:

答案解析:

方法重载与返回值无关,只可以通过参数来判断。

217. while语句必须要有循环条件。

  • A. 对

  • B. 错

正确答案:

答案解析:while语句小括号中的内容是循环条件,当循环条件为true时,就执行循环体中的内容,否则就不执行循环体中的内容。

218. 当if语句只控制一行执行语句时,可以不写后面的大括号。

  • A. 对

  • B. 错

正确答案:

答案解析:

if语句中可以有多条可执行语句,当只有一条语句时,可以不写大括号。

219. 运算符“&”和“&&”都表示“与”操作。

  • A. 对

  • B. 错

正确答案:

答案解析:运算符“&”和“&&”都表示“与”操作,当运算符两边的操作数任何一边的值为false时,其结果为false,当两边的值都为true时,其结果才为true,它们的运算结果一致。

220. 在switch语句中,每个case关键字后面必须有break。

  • A. 对

  • B. 错

正确答案:

答案解析:在一些特定情况下,为了简化操作可以不写break,但会产生case穿透问题。

221. 代码int[][] arr = new int[3][4]可以正确的定义一个二维数组。

  • A. 对

  • B. 错

正确答案:

答案解析:题中的代码相当于定义了一个3*4的二维数组,即二维数组的长度为3,每个二维数组中的元素又是一个长度为4的数组。

222. 若x = 5,则表达式(x + 5)/3的值是3。

  • A. 对

  • B. 错

正确答案:

答案解析:

由于“()”运算符的优先级高于“/”,因此先计算x+5的结果,然后再将该结果除以3。

223. 常量就是程序中常常变化的数据。

  • A. 对

  • B. 错

正确答案:

答案解析:常量就是在程序中固定不变的值,是不能改变的数据。

224. 将多个字符用加号相连接就会产生一个新的字符串。

  • A. 对

  • B. 错

正确答案:

答案解析:

字符常量在使用加号相连接时,都会先提升为int类型,因此就相当于执行加法运算,最终得出的结果为int类型,并不会组合成新的字符串。

225. continue语句只能在循环语句中使用。

  • A. 对

  • B. 错

正确答案:

答案解析:

continue语句具有局限性,只能在循环语句中使用,不能单独使用。

226. switch条件语句可以针对某个表达式的值作出判断,从而决定程序执行哪一段代码。

  • A. 对

  • B. 错

正确答案:

答案解析:

switch 条件语句也是一种很常用的选择语句,和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码。

227. 数组的最大下标的值比它的长度小1。

  • A. 对

  • B. 错

正确答案:

答案解析:数组的下标从0开始,所以最大下标的值比长度少1。

228. Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似。

  • A. 对

  • B. 错

正确答案:

答案解析:

Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似。其语法如下:

判断条件 ? 表达式1 : 表达式2

229. 方法的返回值类型可以定义也可以不定义。

  • A. 对

  • B. 错

正确答案:

答案解析:

在定义方法时,必须要声明方法的返回值类型,如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。

230. 在java程序中,只能使用英文的分号;,否则编译器会报告错误信息。

  • A. 对

  • B. 错

正确答案:

231. 在表达式中,乘法和除法运算优先级别最高。

  • A. 对

  • B. 错

正确答案:

答案解析:

最高优先级是小括号。

232. break语句可以在循环语句或者switch条件语句中使用。

  • A. 对

  • B. 错

正确答案:

答案解析:

在switch条件语句和循环语句中都可以使用break语句。当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。

233. 当continue语句出现在嵌套循环的内层循环时,它只能终止内层循环。

  • A. 对

  • B. 错

正确答案:

答案解析:

continue出现在内层循环时,只能终止内层循环。如果想结束外层循环,可以在continue语句后面使用标记的方式结束本次外层循环。

234. 在商城库存清单程序中,可将清单分解为三个部分(清单顶部、清单中部、清单底部)。

  • A. 对

  • B. 错

正确答案:

235. 在存储同学姓名时,可以使用数组解决多个数据的存储问题。

  • A. 对

  • B. 错

正确答案:

236. byte类型所占存储空间为1个字节,取值范围0~255。

  • A. 对

  • B. 错

正确答案:

答案解析:

byte类型取值范围-128~127,也就是-27 ~ 27-1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还没有名字哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值