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

题目难度:★☆☆☆ 容易 48.请阅读下面的代码 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

考察点:第二章 Java编程基础 题目难度:★★★★ 难

49.下面选项中,可以从数组int [] arr = {10,1,2,3,4,5,6,7,8,9,10}中求出元素10所对应角标值的是( ) A. for(int x=0;x B. for(int x=1;x C. for(int x=0;x D. for(int x=1;x 答案:A

解析:数组的最大角标值比数组的长度小1,并且数组的角标值从0开始。所以前提条件是x=0且判断条件是x

50.下列选项中,按照箭头方向,可以进行自动类型转换的是 A. char → int B. short → char C. float → long D. char → short 答案:A

解析:类型转换过程中,只能范围小的会自动转成范围大的 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易

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

B. 1 C. 2 D. 3 答案:C

解析:题目中定义的二维数组只有一个一维数组,arr[0][1]表示要获取的是一维数组的第二个元素,因此正确答案为第3项 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 52.请阅读下面的程序 public class Test {

public static void main(String[] args) { for(int x = 0 ; x <=3 ; x++){ continue;

System.out.print(x%2+” “); } } }

下列选项中,哪一个是程序的运行结果 A. 0 1 2 3 B. 0 1 2 1 C. 0 1 2

D. 编译失败 答案:D

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

考察点:第二章 Java编程基础 题目难度:★★★★ 难

53.若x=6 ,y=5 则表达式int max=x>y?x:y 的结果为() A. 6 B. 5 C. true D. false 答案:A

解析:三元表达式语法结构: 判断条件 ? 表达式1 : 表达式2

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

考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般

54.下列选项中,不属于位运算符的是 A. &

B. ! C. ^ D. | 答案:B 解析:“!”是逻辑运算符,表示逻辑非 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易

55.表达式3510/1000的运算结果为 A. 3 B. 3.51 C. 3.510 D. 4 答案:A

解析:整数之间相除,会忽略小数部分 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易

56.下面关于字符类型变量的定义中,错误的是( ) A. char a='97'; B. char b=65536; C. char c='\a'; D. char d=\\\ 答案:D

解析:char类型数据在定义时需要使用单引号引起的单个字符,也可以赋值为0-65535之间的数字。也可以使用Unicode 代码来描述 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易

57.阅读下段代码片段,选择正确的运行结果 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

解析:变量的作用域为:从定义处开始,到变量所在块结束位置 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 58.请阅读下面的程序 public class Demo {

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

System.out.println(\\\ }

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

System.out.println(\\\ }

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

System.out.println(\\\ }

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 考察点:第二章 Java编程基础 题目难度:★★★★ 难 59.请阅读下面的程序 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];