Java 循环语句

1.概述

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

2.for

格式

for(初始化表达式①;布尔表达式②;步进表达式④){
   循环体③
}

执行流程

执行顺序:①②③④==>②③④==>②③④…②不满足为止
①完成循环变量初始化;
②判断是否满足循环条件,不满足就跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况

示例

public static void main(String[] args) {
    //打印1~100
  for (int i=1;i<=100;i++){
    System.out.println("这次打印的是:"+i);
  }
}

3.while

格式

初始化表达式①
while(布尔表达式②){
  循环体③
  步进表达式④
}

执行流程

执行顺序:①②③④==>②③④==>②③④…②不满足为止
①完成循环变量初始化;
②判断是否满足循环条件,不满足就跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况

示例

public static void main(String[] args) {
    //打印1~100
    int i=1;
    while (i<=100){
        System.out.println("这次打印的是:"+i);
        i++;
    }
}

4.do...while

格式

初始化表达式①
do{
  循环体③
  步进表达式④
}while(布尔表达式②)

执行流程

执行顺序:①③④==>②③④==>②③④…②不满足为止
①完成循环变量初始化;
②判断是否满足循环条件,不满足就跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况

示例

public static void main(String[] args) {
    //打印1~100
    int i=1;
    do{
        System.out.println("这次打印的是:"+i);
        i++;
    }while(i<=100);
}

5.练习

问题

求1~100的和

代码

public static void main(String[] args) {
    int result=0;
    for (int i=1;i<=100;i++){
        result+=i;
    }
    System.out.println(result);
}

6.三种循环的区别

①如果条件判断从来没有满足过,for循环和while循环将会执行0次,do…while循环将会执行1次;
②for循环的变量在小括号中定义,只有循环内部才可以使用;while和do…while循环初始化语句在外面,所以循环完成后还可以使用。

7.break

用法

①可以用在switch语句中,一旦执行,整个switch语句立刻结束;
②可以用在循环语句中,一旦执行,整个循环语句立刻结束,打断循环。

示例

public static void main(String[] args) {
    for (int i=1;i<=10;i++){
        System.out.println(i);
        if (i==5){
            break;
        }
    }
}

8.continue

一旦执行,立刻跳过该次循环剩余内容,马上开始下一次循环。

public static void main(String[] args) {
    for (int i=1;i<=10;i++){
        if (i%2==0){
            continue;
        }
        System.out.println(i);
    }
}

9.循环嵌套

一个循环体是另一个循环。例如for循环中还有for循环。

格式

for(初始化表达式①;循环条件②;步进表达式⑦){
  for(初始化表达式③;循环条件④;步进表达式⑥){
    执行语句⑤;
  }
}

执行流程

执行顺序①②③④⑤⑥==>④⑤⑥==>⑦②③④⑤⑥==>④⑤⑥
外循环一次,内循环多次

public static void main(String[] args) {
    //打印8*8矩阵
    for (int i=1;i<=8;i++){
        for(int j=1;j<=8;j++){
            if (j<8){
                System.out.print((i-1)*8+j+"\t");
            }else{
                System.out.println((i-1)*8+j);
            }
        }
    }
   System.out.println("=======================================");
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容