Java 中的三种循环结构 你会用么?

2021-01-04 15:41:18 浏览数 (2346)

1.for循环

格式:

 for(初始化语句1; 判断语句2; 步进语句3){ 
         循环代码4
 }

执行流程: 

    先执行1初始化语句
    执行2判断语句,如果判断结果是true
    执行4循环代码
    执行3步进语句
    继续回到2 4 3 2 4 3 
    如果判断结果是false,代表循环结束
注意:
    初始化语句只在第一次循环中执行,之后不再执行

代码演练:

public static void main(String[] args) {

        /*

        判断0-10的奇偶数

         */

        //偶数:能够被2整除的数字称为偶数

        // 0 是一个特殊的偶数

        for(int i=0;i<=10;i++){

            if (i%2 == 0){

                System.out.println(i+"是偶数");

            }else {

                System.out.println(i+"是奇数");

            }

        }

    }

2.while循环

格式:

初始化语句1;
while(判断语句2){
        循环代码3;
        步进语句4;
 }

执行流程:

1 初始化语句
2 执行判断语句,如果是true就执行大括号里面的代码,如果是false就结束循环
3 循环代码
4 步进语句
再次循环执行2判断语句

代码演练:

public static void main(String[] args) {

        /*

        求1-100的累加和

         */

        int x = 1;

        int sum = 0;

        while (x<=100){

            sum += x;

            x++;

        }

        System.out.println("1-100的累加和为:"+sum);

    }

3.do-while循环

格式:

初始化语句1;
do{
        循环语句2;
        步进语句3;
}while(判断语句4);

执行流程:

1 初始化语句
2 循环语句
3 步进语句
4 判断语句 , 如果判断的结果是true就继续循环,如果判断的结果是false就结束循环
注意:
 do-while循环是先执行后判断,不管条件是否满足至少执行一次

代码演练:

public static void main(String[] args) {

        /*

        输出1-10的和

         */

        int a = 1;

        int sum = 0;

        do {

            sum += a;

            a++;

        }while (a<=10);

        System.out.println("1-10的和为:"+sum);

    }

三种循环的使用场景

三种循环结构均可实现相应的功能,按照实际需要选择更为简便的形式。以下为使用场景的总结:

  • 明确循环次数的时候:建议使用for循环
  • 不明确循环次数的时候:建议使用while循环
  • do...while循环比较特殊,它先执行循环体,然后根据判断条件决定是否再次执行循环,即do...while至少执行一次循环

循环嵌套

代码演练1

public static void main(String[] args) {

        /*

        循环嵌套:

            外层循环执行1次,内存循环执行一圈

         */

        /*

        循环出从0点0分-23点59分

         */

        //遍历小时

        for (int i=0; i<24; i++){

            //遍历分钟

            for (int j=0; j<60; j++){

                System.out.println(i + "点" + j + "分");

            }

        }

代码演练2

public static void main(String[] args) {

        for (int i = 1; i < 10; i++) {

            System.out.println("你是第" + i + "位顾客");

            while (true) {

                System.out.println("请选择你想要购买的商品:1.水果 2.蔬菜 3.饮料 4.结束购买");

                Scanner sc = new Scanner(System.in);

                int a = sc.nextInt();

                if (a == 1) {

                    System.out.println("您购买的是水果");

                } else if (a == 2) {

                    System.out.println("你购买的是蔬菜");

                } else if (a == 3) {

                    System.out.println("您购买的是饮品");

                } else if (a == 4) {

                    break;

                } else {

                    System.out.println("您输入的指令有错误");

                }

            }

        }

    }

两种死循环的写法

1.while(true){...}
2.for(;;){...}

推荐好课:Java微课Java多线程讲解