例题:
2017-11-14
9.
(单选题)以下程序的输出结果为:
1 public static void main(String args[]) {
2 int a=10;
3 int b=20;
4 boolean flag=a++>b--&&b++>a--;
5 System.out.println(flag+",a="+a+",b="+b);
6 }
A.
false,a=11,b=19
B.
false,a=10,b=20
C.
true,a=11,b=19
D.
true,a=10,b=20
注: 原答案为B 。正确答案为A
错误原因:
&& 的知识点为扎实。
&& 有开关之意,即 && 左面的式子如果不是true ,则右面不需要进行计算。
因此: boolean flag=a++>b–&&b++>a–; 此句在得出 a++ > b– – 后 b++>a– – 不计算。
结果 : a == 11 ,b == 19。 故选A
13.
(单选题)下列代码的输出结果是:()。
01 public static void main(String[] args) {
02 int i = 24, j = 32, h = 58;
03 switch (j - i) {
04 case 7:
05 h++;
06 case 8:
07 h++;
08 case 9:
09 h += 2;
10 case 10:
11 h += 3;
12 default:
13 h /= j;
14 }
15 System.out.println(h);
16 }
A.59 B.61 C.2 D.1
注: 原答案为 A , 正确答案为 C
错误原因:
break 语句的用法;
当switch 语句中 ,case 语句满足后,后面的条件无需判断,直接执行,直到遇到break,才结束switch语句。
因此:case 8 满足后 ,后面 h++ , h += 2 , h += 3 , h /= j 都会执行
所以结果为 h == 2 。
10.
(单选题)请看下列代码:
01 public void testType() {
02 if (isType(1)) {
03 System.out.println("Type");
04 } else {
05 System.out.println("Not type");
06 }
07 }
08 public boolean isType(int type) {
09 if (type == 1) {
10 return false;
11 }
12 return true;
13 }
调用testType方法,程序编译和运行的结果是:()。B
A.
输出:Type
B.
输出:Not Type
C.
代码 if (isType(1)) { 行,编译错误
D.
代码 return true; 行,编译错误
注:正确答案为 B
本题考点 对if语句的理解
** if (条件语句){
条件语句为true时执行
}
else {
条件为false时执行
} **