Java之循环语句

蹲街弑〆低调 提交于 2019-12-04 13:03:17

循环概述

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

循环语句for

格式:

执行流程

  • 执行顺序:①②③④>②③④>②③④…②不满足为止。
  • ①负责完成循环变量初始化 ,在循环开始最初执行,而且只做唯一一次。
  • ②负责判断是否满足循环条件,不满足则跳出循环
  • ③具体执行的语句,重复要做的事情内容,若干行语句。
  • ④循环后,循环条件所涉及变量的变化情况。每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。

执行流程图

代码举例

package demo04_For;

//使用for循环,计算1-100之间的偶数和
public class Demo01HundredSum {
    public static void main(String[] args) {
        //1.定义一个初始化变量,记录累加求和,初始值为0
        int sum = 0;
        //2.利用for循环获取1‐100之间的数字
        for (int i = 1; i <= 100; i++) {
            //3.判断获取的数组是奇数还是偶数
            if (i % 2 == 0) {
                //4.如果是偶数就累加求和
                sum += i;
            }
        }
        //5.循环结束之后,打印累加结果
        System.out.println("sum:" + sum);
    }

}

代码执行后的结果

嵌套循环

所谓嵌套循环,是指一个循环的循环体是另一个循环。比如for循环里面还有一个for循环,就是嵌套循环。总共的循环次数=外循环次数*内循环次数

嵌套循环格式:

嵌套循环执行流程:

  • 执行顺序:①②③④⑤⑥>④⑤⑥>⑦②③④⑤⑥>④⑤⑥
  • 外循环一次,内循环多次。
  • 比如跳绳:一共跳5组,每组跳10个。5组就是外循环,10个就是内循环。

练习:使用嵌套循环,打印5*8的矩形

代码实现

package demo04_For;

public class Demo02For {
    public static void main(String[] args) {
        //5*8的矩形,打印5行*号,每行8个
        //外循环5次,内循环8次
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 8; j++) {
                //不换行打印星号
                System.out.print("*");
            }
            //内循环打印8个星号后,需要一次换行
            System.out.println();
        }
    }
}

执行代码之后的结果

循环语句while

while循环有一个标准格式,还有一个扩展格式。

标准格式:

while (条件判断) {
    循环体
}

执行流程图

扩展格式:(重点)

执行流程

  • 执行顺序:①②③④>②③④>②③④…②不满足为止。
  • ①负责完成循环变量初始化。在循环开始最初执行,而且只做唯一一次。
  • ②负责判断是否满足循环条件,不满足则跳出循环。
  • ③具体执行的语句。重复要做的事情内容,若干行语句。
  • ④循环后,循环变量的变化情况。每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。

执行流程图

代码举例

package demo05_While;
//while循环实现打印10次HelloWorld
public class Demo01While {
    public static void main(String[] args) {
        //定义初始化变量
        int i = 0;
        //循环条件<=10
        while (i < 5) {
            System.out.println("HelloWorld");
            //步进表达式
            i++;
        }
    }
}

代码执行后的结果

死循环

在后期的开发中,会出现使用死循环的场景,例如:我们需要读取用户输入的输入,但是用户输入多少数据我们并 不清楚,也只能使用死循环,当用户不想输入数据了,就可以结束循环了,如何去结束一个死循环呢,就需要使用 到跳出语句了。 死循环也就是循环中的条件永远为true,死循环的是永不结束的循环。例如:while(true){}。

死循环的标准格式

while (true) {
    循环体
}

注意事项

  • 永远执行不到的代码,不要写。

代码举例

package demo05_While;

public class Demo02While {
    public static void main(String[] args) {
        //死循环
        while (true) {
            System.out.println("我是死循环");
        }
        //  System.out.println("永远执行不到的代码");  不要书写
    }
}

循环语句do...while

do-while循环的标准格式:

do {
    循环体
} while (条件判断);

扩展格式:(重点)

执行流程

  • 执行顺序:①③④>②③④>②③④…②不满足为止。
  • ①负责完成循环变量初始化。在循环开始最初执行,而且只做唯一一次。
  • ②负责判断是否满足循环条件,不满足则跳出循环。
  • ③具体执行的语句,重复要做的事情内容,若干行语句。
  • ④循环后,循环变量的变化情况,每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。

 执行流程图

代码实现

package demo06_DoWhile;

public class Demo01DoWhile {
    //使用do..while  输出1-10
    public static void main(String[] args) {
        int i = 1; // 1. 初始化语句
        do {
            System.out.println(i); // 3. 循环体
            i++; // 4. 步进语句
        } while (i <= 10); // 2. 条件判断
    }
}

代码执行之后的结果

 三种循环的区别

  • 如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次。
  • for循环的变量在小括号当中定义,只有循环内部才可以使用。while循环和do-while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用。

循环的选择,有一个小建议:

  • 凡是次数确定的场景多用for循环;否则多用while循环。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!