Day03作业

YangeIT大约 6 分钟

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 分析以下需求,并用代码实现:

任务

  1. 按照从大到小的顺序输出四位数中的个位+百位=十位+千位(3553,2332,1166,8228,3773)的数字
  2. 要求每行打印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

参考步骤

  1. 定义for循环,循环变量开始是9999,结束是10000

  2. 通过取余以及除法,获取一个数的每一位上的数。

    1. 例如:1234
      • 1234 % 10 = 4 个位
      • 1234 / 10 % 10 = 3 十位
      • 1234 / 100 % 10 =2 百位
      • 1234 / 1000 = 1 千位
  3. 判断是否符号条件(个位+百位=十位+千位),满足条件就是用System.out.print(i); 输出这个数。


2️⃣ 3.2 键盘录入一个月份数字,使用switch输出这个月份对应的季节.

3.2.1 思路:

思路

键盘录入月份并使用switch进行判断,可以使用case穿透来完成.

参考步骤

  1. 创建键盘录入对象
  2. 录入数据
  3. switch语句进行判断实现(最好使用case穿透)

3️⃣ 3.3 分析以下需求,并用代码实现:

功能描述:

功能描述

  • 假设一个简单的在ATM的取款过程如下:
  • 提示用户输入金额(money)
  • ATM只能输出100元的纸币一次取钱数要求最低100元,最高10000元。
  • 如果用户输入的金额符合上述要求,则打印输出用户取的钱数
  • 如果输入的取款金额有误, 请给出提示并继续录入, 直到用户输入正确为止

最终效果

参考步骤

参考步骤

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

点击跳转到Day03笔记 👈

点击跳转到Day04笔记 👈