Day03作业
Day03作业
点击回到笔记 📒👈
1. 简答题
1️⃣ 1.1 请问你会在什么情况下使用for或者while?
回答
可以用Typora或者editplus
或者notepad++
或者在idea
中书写答案
2️⃣1.2 请问if语句和switch语句有何区别?
回答
可以用Typora或者editplus
或者notepad++
或者在idea
中 书写答案
3️⃣1.3 请问switch(表达式)中,表达式允许的类型有哪些?有哪些注意事项?
回答
可以用Typora或者editplus
或者notepad++
或者在idea
中 书写答案
4️⃣1.4 请问switch中,case后面break是否必须写,不写会有什么效果?
回答
可以用Typora或者editplus
或者notepad++
或者在idea
中 书写答案
5️⃣1.5 do...while循环,是不是一定会比for/while循环多执行一次?请说明原因?
回答
可以用Typora或者editplus
或者notepad++
或者在idea
中 书写答案
6️⃣ 1.6 请说出break和continue的各自效果?
回答
可以用Typora或者editplus
或者notepad++
或者在idea
中 书写答案
2 选择题 🔡
1️⃣2.1(单选):下列代码的运行结果是( )
public class test {
public static void main(String[] args) {
int sum = 0;
int i=0;
while (i<=5){
if(i % 2 != 0){
sum += i;
}
i++;
}
System.out.println("sum = " + sum);
}
}
A. sum = 9
B. sum = 6
C. sum = 15
D. sum = 0
2️⃣ 2.2(单选): 下列代码的运行结果是 ( )
public static void main(String[] args) {
char c = 'c';
switch (c){
case 'a':
System.out.println("传智播客");
case 'b':
System.out.println("黑马程序员");
break;
case 'c':
System.out.println("传智大学");
case 'd':
System.out.println("酷丁鱼");
break;
default:
System.out.println("程序结束!");
break;
}
}
A. 传智播客
黑马程序员
B. 传智大学
酷丁鱼
C. 程序结束!
D. 黑马程序员
传智大学
3️⃣2.3(单选):下列代码的运行结果是( )
public class Test {
public static void main(String[] args) {
int sum = 0;
for(int i = 0; i < 10; i++){
if (i % 3 != 0){
sum += i;
}
}
System.out.println("sum = " + sum);
}
}
A. sum = 45
B. sum = 27
C. sum = 18
D. sum = 55
4️⃣ 2.4(多选题!!!):阅读代码,下面那些代码片段能够求1~10(包含1也包含10)之间偶数的和( )
A.
int sum=0;
for(int i=1;i<=10;i++){
if(i%2==0){
sum+=i;
}
}
B.
int sum=0;
for(int i=1;i<10;i+=2){
sum+=i;
}
C.
int sum=0;
for(int i=1;i<10;i++){
if(i%2!=0){
sum+=i;
}
}
D.
int sum=0;
for(int i=2;i<=10;i+=2){
sum+=i;
}
5️⃣ 2.5(单选):关于for循环语句说法错误的是( )
for (初始化语句; 循环判断表达式; 步进语句) {
①int a = 10;
②循环体;
}
A. 因为初始化语句在循环中只执行一次,所以循环过程中, 无法使用初始化语句中定义的变量.
B. 循环判断表达式的执行次数,会比循环体的执行次数多一次.
C. ①处定义的变量a,每一次进入循环,都会重新定义一个新的变量.
D. 循环体是否执行,需要根据[循环判断表达式]返回的true或false而定.
6️⃣2.6(单选):下列代码的运行结果是( )
public static void main(String[] args) {
boolean flag = false;
int num = 10;
if (flag){
num++;
}
num++;
if(num < 11){
System.out.println("天生我材必有用");
if (num > 5){
System.out.println("千金散尽还复来");
}
}
System.out.println("饿了么?");
}
A. 没有任何输出
B. 天生我材必有用
C. 天生我材必有用 千金散尽还复来 饿了么?
D. 饿了么?
7️⃣ 2.7(单选):以下代码片段执行后,控制台的输出结果为 ( )
public static void main(String[] args) {
int num = 12;
if (num == 12) {
System.out.print("白日依山尽 ");
if (num >= 11) {
System.out.print("黄河入海流 ");
}
} else {
System.out.print("欲穷千里目 ");
}
System.out.print("更上一层楼 ");
}
A. 更上一层楼
B. 白日依山尽 欲穷千里目 更上一层楼
C. 白日依山尽 黄河入海流 更上一层楼
D. 白日依山尽 黄河入海流 欲穷千里目 更上一层楼
8️⃣ 2.8(单选):下列代码的运行结果是( )
public static void main(String[] args) {
int i=0;
int sum=0;
for(;i<=10; i++){
if(i % 2 == 0){
sum+=i;
}else{
continue ;
}
}
System.out.println(sum);
}
A. 55
B. 45
C. 35
D. 30
3 代码题
1️⃣ 3.1 分析以下需求,并用代码实现:
任务
- 按照从大到小的顺序输出四位数中的个位+百位=十位+千位(3553,2332,1166,8228,3773)的数字
- 要求每行打印5个,换一行。如:9999 9988 9977 9966 9955
提示
println(): 带ln的方法,打印完之后会换行。如果不打印任何数据,则直接换行。
print(): 不带ln的方法,打印完之后不会换行。
例如:
System.out.println(123);
System.out.println(456);
// 上面输出结果:
123
456
System.out.print(123);
System.out.print(456);
// 上面输出结果:
123456
参考步骤
定义for循环,循环变量开始是9999,结束是10000
通过取余以及除法,获取一个数的每一位上的数。
- 例如:1234
- 1234 % 10 = 4 个位
- 1234 / 10 % 10 = 3 十位
- 1234 / 100 % 10 =2 百位
- 1234 / 1000 = 1 千位
- 例如:1234
判断是否符号条件(个位+百位=十位+千位),满足条件就是用System.out.print(i); 输出这个数。
2️⃣ 3.2 键盘录入一个月份数字,使用switch输出这个月份对应的季节.
3.2.1 思路:
思路
键盘录入月份并使用switch进行判断,可以使用case穿透来完成.
参考步骤
- 创建键盘录入对象
- 录入数据
- switch语句进行判断实现(最好使用case穿透)
3️⃣ 3.3 分析以下需求,并用代码实现:
功能描述:
功能描述
- 假设一个简单的在ATM的取款过程如下:
- 提示用户输入金额(money)
- ATM只能输出100元的纸币一次取钱数要求最低100元,最高10000元。
- 如果用户输入的金额符合上述要求,则打印输出用户取的钱数
- 如果输入的取款金额有误, 请给出提示并继续录入, 直到用户输入正确为止
最终效果

参考步骤
参考步骤
- 先实现出一次的录入和判断
- 因为不明确用户操作几次,才可以输入正确的取款金额,使用无限循环
- 输入正确后,break 结束循环