java单选题库 博学谷 下载本文

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选项 考察点:第二章 Java编程基础 题目难度:★★★★ 难 60.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); }

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

A. 1050 B. 2050 C. 2500

D. 以上答案都不对 答案:C

解析:程序表示求出100以内,所有奇数的和 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般

61.以下语法格式中,哪一个是三元运算符的语法格式( ) A. 表达式1:表达式2?表达式3 B. 表达式1?表达式2:表达式3 C. 表达式1:表达式2:表达式3 D. 以上答案都不对 答案:B

解析:三元运算符语法格式: 表达式1?表达式2:表达式3;

考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 62.程序的运行结果是 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(\\\ } }

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

考察点:第二章 Java编程基础 题目难度:★★★★ 难 63.请阅读下面的程序片段 int x = 3; if (x > 5) {

System.out.print(\\\ } else {

System.out.print(\\\ }

选择程序的运行结果( ) A. a B. b C. ab

D. 编译错误 答案:B 解析:if语句中的判断条件成立时,会执行if语句中的内容,否则会执行else语句中的内容,很明显3不大于5所以执行else语句的内容,输出结果为b 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易

64.下面关于方法定义的描述中,正确的是

A. 当方法没有返回值时,返回值类型要定义为void B. 当方法没有返回值时,返回值类型可以不写 C. 当方法没有返回值时,不能有return语句 D. 方法是不可以没有参数的 答案:A

解析:如果方法没有返回值,则返回值类型要定义为void; 方法中没有返回值也可以使用return语句,格式为return; 方法中可以定义参数,也可以不定义参数。 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般

65.下列关于int类型变量的定义,错误的是( ) A. int a=10; B. int b,c=20; C. int d=e=30; D. int f=40; 答案:C

解析:变量定义的基本格式 数据类型 变量名=值;变量一定要先初始化后才可以使用。 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易

66.下列选项中关于二维数组的定义,错误的是( ) A. int[][] arr = new int[][2] B. int[][] arr = new int[1][2] C. int[][] arr = new int[2][]

D. int[][] arr = {{1},{2,3},{4,5,6}} 答案:A

解析:由二维数组的定义方式可知,int[][] arr = new int[][2] 中的int[]长度不能为空 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般

67.请阅读下列的程序,程序的运行结果是 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类型的取值范围,这样的赋值会导致数值溢出,需要进行强制类型转换,否则编译不能通过 考察点:第二章 Java编程基础 题目难度:★★★★ 难

68.下列关于case关键字的说法中,错误的是 A. case关键字后面必须是常量

B. case关键字后面的break必须存在 C. case关键字后面的break可以没有 D. case关键字后面的值必须不一样 答案:B

解析:case关键字后面的break可以没有 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般

69.关于方法的递归,以下说法错误的是 A. 方法递归必须有结束条件

B. 方法递归次数太多会导致内存溢出

C. 方法递归就是指在一个方法的内部调用自身的过程 D. 方法递归可以无数次,只要有结束条件就可以 答案:D

解析:方法的递归是指在一个方法的内部调用自身的过程,递归必须要有结束条件,不然就会陷入无限递归的状态,永远无法结束调用。如果递归此次数太多就会导致内存溢出关于方法的递归,以下说法错误的是 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般 70.请阅读下面的代码片段 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('a','b'); C. int num = add(true,flase); D. int num = add(\