选择语句+循环语句作业
一、填空题
- Java 中有两种类型的选择结构的控制语句,分别是
if
语句和switch
。 - 在 Java JDK1.7 之前,switch 只能支持 byte 、short 、char 、int 或者其对应的封装类 以及 Enum 类型。在 JDK1.7 中又加入了
String
类型。 - for 循环的语法格式是
for (表达式1; 表达式2; 表达式3) {循环体}
,其中在整个循环过程中只执行一次的部分是 表达式1。 - 在循环结构中,如果想跳出循环体,结束整个循环结构可以使用
break
语句。 continue
语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。即只结束本次循环,而不是终止整个循环的执行。
二、选择题
-
以下代码的执行结果是( B )。(选择一项)
boolean m = false; if (m = false) { System.out.println("false"); } else { System.out.println("true"); }
- A. false
- B. true
- C. 编译错误
- D. 无结果
-
分析如下 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
-
变量 x 的定义选项
下列选项中关于变量 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;
- Java 代码执行结果
阅读下列文件定入的 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("b");
break;
case 'c':
System.out.print("c");
break;
default:
System.out.print("d");
}
}
}
- A. a
- B. b
- C. c
- D. cd
- Java 程序输出结果
以下 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
- 代码功能相同的选项
以下四个选项中和下面代码功能相同的是(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++)
- B. for (int x = 0; x <= 100; x += 2)
- C. for (int x = 1; x <= 100; x += 2)
- D. 上述全对
- do-while 循环代码执行结果
以下 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
- while 循环和 do-while 循环的区别
while 循环和 do-while 循环的区别是(D)。(选择一项)
- A. 没有区别,这两个结构在任何情况下效果一样
- B. while 循环比 do-while 循环执行效率高
- C. while 循环是先循环后判断,所以循环体至少被执行一次
- D. do-while 循环是先循环后判断,所以循环体至少被执行一次
- Java 代码输出结果
在 Java 中有如下代码,则编译运行该类的输出结果是(D)。(选择一项)
public static void main(String[] args) {
for(int i = 0; i < 10; i++){
if (i % 2 != 0) {
break;
}
System.out.print(i);
}
}
- A. 13578
- B. 02468
- C. 0123456789
- D. 0
- 程序执行结果
下面程序执行的结果是在屏幕上打印(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 语句和循环语句中。 ( F )
... (其他判断题以类似格式继续,省略以节省空间)
四、编码题
-
输入一个数,判断是奇数还是偶数
package lanzhishujia.day03; import java.util.Scanner; public class ZuoYe01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个数"); int a = sc.nextInt(); if (a % 2 == 0) { System.out.println("这是偶数"); } else if (a % 2 == 1) { System.out.println("这是奇数"); } else { System.out.println("输入错误"); } } }
-
根据成绩输出对应的等级,使用 if 多分支和 switch 语句分别实现。
If代码:package lanzhishujia.day03; import java.util.Scanner; public class ZuoYe02_1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入您的成绩"); int a = sc.nextInt(); if (90 < a && a <= 100) { System.out.println("您的成绩为A"); } else if (80 < a && a <= 90) { System.out.println("您的成绩为B"); } else if (70 < a && a <= 80) { System.out.println("您的成绩为C"); } else if (60 < a && a <= 70) { System.out.println("您的成绩为D"); } else if (0 <= a && a <= 60) { System.out.println("您的成绩为E"); } else { System.out.println("输入无效成绩"); } } }
Switch代码:
package lanzhishujia.day03; import java.util.Scanner; public class ZuoYe02_2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入您的成绩为:"); int a = sc.nextInt(); int b = a / 10; if (0 <= a && a <= 100) { switch (b) { case 10: case 9: System.out.println("A"); break; case 8: System.out.println("B"); break; case 7: System.out.println("C"); break; case 6: System.out.println("D"); break; default: System.out.println("E"); break; } } else { System.out.println("输入错误"); } } }
-
根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。
package lanzhishujia.day03; import java.util.Scanner; public class ZuoYe03 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入月份:"); int a = sc.nextInt(); if(3<=a && a<=5){ System.out.println("春天-春意盎然 春暖花开-踏青"); } else if (6<=a&&a<=8) { System.out.println("夏天-夏日炎炎 夏雨雨人-吃雪糕"); } else if (9<=a&&a<=11) { System.out.println("秋天-秋高气爽 秋秋号呢-丰收"); } else if (1<=a&&a<=2) { System.out.println("冬天-其德隆冬墙 壁冬-打雪仗"); } else if(a==12){ System.out.println("冬天-其德隆冬墙 壁冬-打雪仗"); } else{ System.out.println("输入错误"); } } }
-
从键盘输入一个班5个学生的分数,求和并输出。
package lanzhishujia.day03; import java.util.Scanner; public class ZuoYe04 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int sum = 0; for (int i = 1; i <= 5; i++) { System.out.println("请输入学生的成绩:"); int score = sc.nextInt(); sum += score; } System.out.println("总和为:" + sum); } }
-
从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。
package lanzhishujia.day03; import java.util.Scanner; public class ZuoYe05 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个十进制整数:"); int decimal = sc.nextInt(); String binary = convertDecimalToBinary(decimal); System.out.println("对应的二进制数为:" + binary); } public static String convertDecimalToBinary(int decimal) { StringBuilder binary = new StringBuilder(); while (decimal > 0) { binary.insert(0, decimal % 2); decimal /= 2; } return binary.length() > 0 ? binary.toString() : "0"; } }