选择语句+循环语句作业
一、 填空题
- Java中有两种类型的选择结构的控制语句,分别是if语句和 switch 。
- 在Java JDK1.7之前,switch只能支持byte、short、char、int或者其对应的封装类以及Enum类型。在JDK1.7中又加入了 String 类型。
- for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中在整个循环过程中只执行一次的部分是 表达式1 。
- 在循环结构中,如果想跳出循环体,结束整个循环结构可以使用 break 语句。
- ______continue_______语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。即只结束本次循环,而不是终止整个循环的执行。
- 使用Math.random( )返回带正号的 double值,该值大于等于0.0且小于1.0。使用该函数生成[30,60]之间的随机整数的语句是 (int)(Math.random()*31+30) 。
二、 选择题
1. |
以下代码的执行结果是( B )。(选择一项) |
|
|
boolean m = false; if(m = false){ System.out.println("false"); }else{ System.out.println("true"); } |
|
|
|
|
|
A. |
false |
|
B. |
true |
|
C. |
编译错误 |
|
D. |
无结果 |
2. |
分析如下Java代码,编译运行的输出结果是( A )。(选择一项) |
|
|
public static void main(String[ ] args) { boolean a=true; boolean b=false; if (!(a&&b)) { System.out.print("!(a&&b)"); }else if (!(a||b)) { System.out.println("!(a||b)"); }else { System.out.println("ab"); } } |
|
|
|
|
|
A |
!(a&&b) |
|
B. |
!(a||b) |
|
C. |
ab |
|
D. |
!(a||b)ab |
3. |
下列选项中关于变量x的定义,( BD )可使以下switch语句编译通过。(选择二项) |
|
|
switch(x) { case 100 : System.out.println("One hundred"); break; case 200 : System.out.println("Two hundred"); break; case 300 : System.out.println( "Three hundred"); break; default : System.out.println( "default"); } |
|
|
|
|
|
A |
double x = 100; |
|
B. |
char x = 100; |
|
C. |
String x = "100"; |
|
D. |
int x = 100; |
4. |
阅读下列文件定入的Java代码,其执行结果是( D )。(选择一项) |
|
|
public class Test { public static void main(String[] args) { char ch = 'c'; switch (ch) { case 'a': System.out.print("a"); break; case 'b': System.out.print("ab"); case 'c': System.out.print("c"); default: System.out.print("d"); } } } |
|
|
|
|
|
A |
a |
|
B. |
b |
|
C. |
c |
|
D. |
cd |
5. |
以下Java程序编译运行后的输出结果是( B )。(选择一项) |
|
|
public class Test { public static void main(String[] args) { int i = 0, sum = 0; while (i <= 10) { sum += i; i++; if (i % 2 == 0) continue; } System.out.println(sum); } } |
|
|
|
|
|
A |
0 |
|
B. |
55 |
|
C. |
50 |
|
D. |
36 |
6. |
以下四个选项中和下面代码功能相同的是( B )。(选择一项) |
|
|
int i = 1; int sum = 0; while (i <= 100) { if (i % 2 == 0) sum = sum + i; i++; } |
|
|
|
|
|
A |
for (int x =1; x<=100;x++){ sum=sum+x;} |
|
B. |
for (int x =0; x<=100;x+=2){ sum=sum+x;} |
|
C. |
for (int x =1; x<=100;x+=2){ sum=sum+x;} |
|
D. |
上述全对 |
7. |
以下do-while循环代码的执行结果是( A )。(选择一项) |
|
|
int a=0; int c=0; do{ --c; a=a-1; }while(a>0); System.out.println(a+" "+c); |
|
|
|
|
|
A. |
-1 -1 |
|
B. |
死循环 |
|
C. |
-1 -2 |
|
D. |
-1 0 |
8. |
while循环和do-while循环的区别是( D )。(选择一项) |
|
|
|
|
|
A. |
没有区别,这两个结构在任何情况下效果一样 |
|
B. |
while循环比do-while循环执行效率高 |
|
C. |
while循环是先循环后判断,所以循环体至少被执行一次 |
|
D. |
do-while循环是先循环后判断,所以循环体至少被执行一次 |
9. |
在Java中有如下代码,则编译运行该类的输出结果是( D )。(选择一项) |
|
|
public static void main(String[ ] args) { for(int i=0;i<10;i++){ if (i%2!=0) return; System.out.print(i); } } |
|
|
|
|
|
A |
13578 |
|
B. |
02468 |
|
C. |
0123456789 |
|
D. |
0 |
10. |
下面程序执行的结果是在屏幕上打印( B )次Java基础班。(选择一项) |
|
|
for(int i=1;i<=10;i++){ if (i<5) continue; System.out.println("Java基础班"); } |
|
|
|
|
|
A |
5 |
|
B. |
6 |
|
C. |
7 |
|
D. |
8 |
三、 判断题(共20个题目,总计10分)
- if语句的条件表达式的结果都必须是boolean值。( T )
- switch选择语句是多分支选择语句,只能处理等值条件判断的情况,表达式可以是int类型、char类型,但不能是double,float类型。( T )
- while循环结构的特点是先循环再判断,循环体至少执行一次。( F )
- for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中三个表达式都可以省略。( T )
- break语句可以出现在switch语句和循环语句中。( T )
- continue语句可以出现在switch语句和循环语句中。( X )
四、 简答题
- if多分支语句和switch语句的异同之处
相同点:都能进行多分支情况的处理
不同点:if语句的判断条件大部分都是bool类型,switch语句是用(类似)枚举的方式来标识各个分支的
- while和do-while语句的异同之处
while先判断后运行
do-while先运行后判断
- break和continue语句的作用
break:结束程序,后面语句不在执行
continue:跳出程序,执行下面的程序
五、 编码题
- 输入一批整数,使用循环求出最大值与最小值,输入0时结束。
1 public class 作业三内容2 { 2 3 public static void main(String[] args) { 4 Scanner sc = new Scanner(System.in); 5 System.out.println("请输入第1个数:"); 6 int num = sc.nextInt(); 7 int max,min; 8 max = num; 9 min = num; 10 for(int i=2;num!=0;i++){ 11 System.out.println("请输入第"+i+"个数:"); 12 num = sc.nextInt(); 13 if(num!=0){ 14 if(num>max){ 15 max = num; 16 }else 17 { 18 min = num; 19 } 20 } 21 } 22 System.out.println("最大数是"+max); 23 System.out.println("最小数是"+min); 24 }
- 给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐。
1 public static void main(String[] args) { 2 int mon = 20;//钱数 3 int pri = 3;//可乐价格 4 int sum = 0;//喝可乐总数 5 int kele = 0; 6 int sh = 0; 7 while(mon>=pri){ 8 kele = mon/pri;//20块钱可以买的可乐数量 9 sum+=kele; 10 sh = mon%pri; 11 mon = kele+sh; 12 } 13 System.out.println("最多可喝"+sum+"可乐");