/**
 * @author WanJl
 * @version 1.0
 * @title Demo02
 * @description 流程控制-循环结构
 * @create 2026/7/15
 */
public class Demo02 {
    public static void main(String[] args) {
        /*
            循环结构，满足条件就不停的循环执行代码
            Java三种循环结构：
            for循环：
                for(初始化语句;循环条件;迭代语句){
                    循环体;
                }
                for(int i=0;i<10;i++){
                    System.out.println(i);
                }
            执行步骤：
                1、执行初始化语句：int i=0;
                2、执行循环条件：i<10;  如果结果为true，就执行第3步。如果结果为false，就执行最后一步
                3、执行循环体：System.out.println(i);
                4、执行迭代语句：i++ ，然后再跳转回第2步。
                5、跳出循环，继续执行后面的代码

            while循环：
                初始化语句;
                while(循环条件){
                    循环体;
                    迭代语句;
                }
                int i=0;
                while(i<10){
                    System.out.println(i);
                    i++;
                }
               使用while循环或do...while循环的时候，一定不要忘了写i++ 迭代语句。否则会一直循环，也就是死循环。

            do...while循环：
                初始化语句;
                do{
                    循环体;
                    迭代语句;
                }while(循环条件);
                int i=0;
                do{
                    System.out.println(i);
                    i++;
                }while(i<10);
                do...while 因为循环条件在最后，也就是最后才会判断是否满足循环条件，是否要继续循环。
                所以循环体一定会执行一次。所以，for和while是先判断，后执行。do...while是先执行后判断。

         */
        /*
            练习：分别使用for、while和do...while 循环1~100之间的整数。
         */
        // 流程控制中的陷阱
        //1、浮点类型精度问题
        double a=0.1+0.2;
        System.out.println(a);
        if (a==0.3){
            System.out.println("相等");
        }else {
            System.out.println("不想等");
        }

        //2、switch的穿透问题
        // 如果不加break，case1和case2都会穿透到case3
        int x=2;
        switch (x){
            case 1:
            case 2:
            case 3:
                System.out.println("1~3");
                break;
        }
    }
}
