关于java:JavaSE学习笔记Day03

5次阅读

共计 3865 个字符,预计需要花费 10 分钟才能阅读完成。

JavaSEDay03 总结笔记

01-switch 语句

  • 格局 :
switch(将要匹配的值){
    case 值 1:
        语句体 1;
        break;
    case 值 2:
        语句体 2;
        break;
    case 值 3:
        语句体 3;
        break;
        ...
    default:
        语句体 n +1;
        break;
}
  • 执行流程 :
1. 拿着 switch () 中的数据, 跟 case 给出的数据一一进行匹配, 匹配胜利, 就执行对应的语句体,再由 break, 完结掉整个的 switch 语句.
2. 给出的所有 case, 全副匹配失败, 将会执行 default
  • 注意事项 :
1. case 前面的值不能反复
2. case 前面的值只能是常量, 不能是变量
3. switch 语句, () 中能够接管的类型
        1). 根本数据类型: byte short char int
        2). 援用数据类型: jdk5 开始能够是枚举, jdk7 开始能够是 String 字符串
4. 如果省略了 break, 将会开启 case 穿透景象    
  • switch 语句案例:

  • 示例代码:

    import java.util.Scanner;
    
    public class SwitchDemo2 {
        /*
            需要: 键盘录入一个数值, 代表星期 (1~5)打印工作日, (6~7)打印休息日
    
            状况: 发现多个 case 中, 存在反复的代码
    
            jdk14 的新个性: switch 语句中, case 容许编写多个值, 两头要用逗号隔开
    
            ------------------------------------------------------------
    
            if 语句和 switch 语句的应用抉择 :
    
                if : 实用于范畴的判断
                switch : 实用于固定值的匹配
         */
        public static void main(String[] args) {Scanner sc = new Scanner(System.in);
            System.out.println("请输出一个整数:");
            int week = sc.nextInt();
    
            switch (week) {
                case 1, 2, 3, 4, 5:
                    System.out.println("工作日");
                    break;
                case 6, 7:
                    System.out.println("休息日");
                    break;
                default:
                    System.out.println("您的输出有误!");
                    break;
            }
        }
    }
    

02-for 循环语句

  • 指标 : 为什么要学习循环 ?
  • 答复 : 咱们的代码逻辑, 有些时候须要反复的执行很屡次, 就应该应用循环
  • 格局 :
for(初始化语句; 判断条件; 条件管制语句){循环体语句;}

初始化语句 : 定义变量, 用这个变量来管制循环
判断条件 : 决定循环是否须要持续
循环体语句 : 要反复执行的代码逻辑
条件管制语句 : 扭转管制循环的变量
  • 执行流程 :
1. 执行初始化语句, 在整个循环过程中只执行一次
2. 执行判断条件, 看其返回后果是 true, false
        false : 循环完结
        true : 进入第三步
3. 执行循环体语句
4. 执行条件管制语句
5. 回到 2 持续

for(int i = 1; i <= 5; i++){System.out.println("itheima");
}
  • 示例代码:

    public class ForTest7 {
        /*
            需要: 应用 * 号, 在控制台打印 5 行直角三角形
    
                *
                **
                ***
                ****
                *****
    
                *****
                ****
                ***
                **
                *
    
            1. 打印 5 行 5 列矩形
            2. 改良为直角三角形
         */
        public static void main(String[] args) {
            // 外循环: 管制行数
            for(int i = 1; i <= 5; i++){
                // 内循环: 管制列数
                for(int j = 1; j <= i; j++){System.out.print("*");
                }
                System.out.println();}
    
            System.out.println("-----------------------");
    
            for(int i = 5; i >= 1; i--){for(int j = 1; j <= i; j++){System.out.print("*");
                }
                System.out.println();}
        }

03-while 循环语句

  • 格局 :
初始化语句;
while(判断条件){
    循环体语句;
    条件管制语句;
}
1. 执行初始化语句, 在整个循环过程中只执行一次
2. 执行判断条件, 看其返回后果是 true, false
        false : 循环完结
        true : 进入第三步
3. 执行循环体语句
4. 执行条件管制语句
5. 回到 2 持续
  • 留神 : while 循环, 千万别忘了条件管制语句.
  • 示例代码:

    public class WhileTest1 {
        /*
            需要: 在控制台打印出所有的水仙花数, 要求应用 while 实现.
         */
        public static void main(String[] args) {
            int i = 100;
    
            while (i <= 999) {
    
                int ge = i % 10;
                int shi = i / 10 % 10;
                int bai = i / 100;
    
                if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i){System.out.println(i);
                }
    
                i++;
            }
        }
    }
    

04-do…while 循环语句 (理解)

  • 格局 :
初始化语句;
do {
    循环体语句;
    条件管制语句;
}while(判断条件);
1. 执行初始化语句
2. 执行循环体语句
3. 执行条件管制语句
4. 判断条件, 看其返回后果是 true, false
        false : 循环完结
        true : 回到 2 持续.
        
特点: 无论判断条件是否满足, 都至多执行一次循环体.

05- 三种循环的比照

  • for, while : 先判断, 后执行
  • do…while : 先执行, 后判断
for 循环 : 用于管制循环的那个变量, 因为归属于 for 的语法结构当中, 在循环完结后, 无奈持续应用

      for (int i = 1; i <= 5; i++) { }

      // System.out.println(i);     编译出错



while 循环 : 用于管制循环的那个变量, 不归属于 while 的语法结构, 在循环完结后, 能够持续应用的.

        int i = 1;

        while(i <= 5){System.out.println("itheima");
            i++;
        }

        System.out.println(i);        // 失常应用
  • 论断 : for 可能实现的需要, while 都能实现, 反之也是一样.
  • 三种循环的死循环写法

    // 没有判断条件就是始终执行  
    for(;;){System.out.println("停不下来了~");
            }
            --------------------------------------------
    
            // 条件只有是 boolean:true 就会始终执行上来
            while(true){System.out.println(1);
            }
            --------------------------------------------
    
            do {System.out.println(1);
            }while(true);

06- 跳转管制语句

  • break : 完结 (循环, switch)

    • break 只能在循环, 和 switch 当中应用
  • continue : 跳过 (循环)

    • continue 只能在循环中应用
  • 独特的注意事项 : break, continue 上面不容许写代码, 因为执行不到
  • 示例代码:

    public class ContinueDemo1 {
        /*
            continue : 跳过
            留神: 只能在循环中用
    
            break, continue 独特的注意事项 : 这俩货色, 上面不容许写代码, 因为执行不到.
         */
        public static void main(String[] args) {for (int i = 1; i <= 80; i++) {if (i == 3 || i == 7 || i == 11) {continue;}
                System.out.println("老师正在给第" + i + "名同学发冰棍儿~");
            }
        }
    }
    
  • 细节 :

    • 如果 break | continue 遇到了循环嵌套, 默认只能操作到本人所在的那一层循环
    • 想要操作指定层的话, 能够退出循环标号

07-Random 产生随机数

1. 找符咒

        import java.util.Random;
        
2. 号召精灵

        Random r = new Random();
        
3. 指挥精灵产生随机数

        20 ~ 60;
        
        // 0 ~ 40
        int num = r.nextInt(41) + 20;
import java.util.Random;
import java.util.Scanner;

public class RandomTest {
    /*
        需要: 实现猜数字小游戏

        1. 应用 Random, 产生随机数 (1~100) 作为要猜的那个数据  (randomNum)
        2. 应用 Scanner, 键盘录入用户猜想的数据   (scNum)
        3. 比对

        留神: 如果死循环, 没有进口, 上面是不容许写代码的, 因为执行不到.
     */
    public static void main(String[] args) {Random r = new Random();
        Scanner sc = new Scanner(System.in);

        // 1. 应用 Random, 产生随机数 (1~100) 作为要猜的那个数据  (randomNum)
        int randomNum = r.nextInt(100) + 1;

        while(true){// 2. 应用 Scanner, 键盘录入用户猜想的数据   (scNum)
            System.out.println("请输出:");
            int scNum = sc.nextInt();
            // 3. 比对
            if (scNum > randomNum) {System.out.println("猜大了");
            } else if (scNum < randomNum) {System.out.println("猜小了");
            } else {System.out.println("祝贺, 猜对了!!!");
                break;
            }
        }

        System.out.println("感谢您的应用, 再见!");
    }
}

正文完
 0