java关于switch-case的练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
每题的答案在下面:
1.若a和b均是整型变量并已正确赋值,正确的switch语句是( )。
A) switch(a+b); { ...... } B) switch( a+b*3.0 ) { ...... }
C) switch a { ...... } D) switch ( a%b ) { ...... }
2.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,正确的switch语句是()。
A) switch (x + y) { ...... } B) switch ( ch + 1 ) { ...... }
C) switch ch { ...... } D) switch ( a + b ); { ...... }
3.下列语句序列执行后,k 的值是()。
int x = 6, y = 10, k = 5;
switch (x % y) {
case 0:
k = x * y;
case 6:
k = x / y;
case 12:
k = x - y;
default:
k = x * y - x;
}
A) 60 B) 5 C) 0 D) 54
4.下列语句序列执行后,k 的值是( )。
int i = 10, j = 18, k = 30;
switch (j - i) {
case 8:
k++;
case 9:
k += 2;
case 10:
k += 3;
default:
k /= j;
}
A) 31 B) 32 C) 2 D) 33
5.下列语句序列执行后,r 的值是()。
char ch = '8';
int r = 10;
switch (ch + 1) {
case'7':
r = r + 3;
case'8':
r = r + 5;
case'9':
r = r + 6;
break;
default:
r = r + 8;
}
A) 13 B) 15 C) 16 D) 18
6.下面语句运行结果为:()
switch (5) {
default:
System.out.println(5);
break;
case 0:
System.out.println(0);
break;
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
}
A) 0 B) 1 C) 2 D) 5
7.下面语句运行结果为:()
switch (5) {
default:
System.out.print(5);
case 0:
System.out.print(0);
case 1:
System.out.print(1);
break;
case 2:
System.out.print(2);
break;
}
A) 1 B) 5 C) 0 D) 501
答案:1.D 分析:A.switch();后面多了个分号 B.switch(常量表达式),括号里面的表达是的值只能为:byte short int char 或者enum类型,但a+b*3.0 是double类型
C.()漏了
2.B 分析:A. switch (x + y) x+y的值为float,不属于byte short int char 或者enum类型 C.()漏了 D. switch ( a + b ); 多了个分号
3.D 分析:case分支中没有break;语句的话会继续往下执行,知道遇到break;语句,或者遇到default:分支才结束
4.C 分析:case分支中没有break;语句的话会继续往下执行,知道遇
到break;语句,或者遇到default:分支才结束
5.C 分析:case分支中没有break;语句的话会继续往下执行,知道遇到break;语句,或者遇到default:分支才结束
6.D 分析:switch-case中,default:分支如果不是写在最后的话要加break;语句,否则执行完default分支后,会继续往下执行,直到遇到break;语句7,D 分析:switch-case中,default:分支如果写在前面或中间的话要加break;语句,否则执行完default分支后,会继续往下执行,直到遇到break;语句