循环结构

##### Java中的循环结构有三种:while循环结构 do while循环结构 for 循环结构

## while循环结构:

### 语法格式:

```java

while(循环条件){

    循环操作

}

```

while循环结构如果第一次判断循环条件就不满足,则会直接跳出循环,循环操作一遍都不会执行

##### 这是while循环结构的一个特点:先判断 后执行。

while循环的执行顺序:

1:声明并创建循环变量

2:判断循环条件是否满足,如果满足则执行循环操作,否则退出循环

3:执行玩循环操作后再次判断循环条件 决定 继续 执行循环 还是 退出循环

### while案例

```java

import java.util.Scanner;

public class Demo01 {

    public static void main(String[] args) {

        //检查学习情况,直到合格为止

        System.out.println("你的学习合格了吗?(y/n)");

        Scanner scanner=new Scanner(System.in);

        String hege = scanner.next();

        while( !"y".equals(hege)){         

            //  equals相当于 ==  判断字符是不是相等

            System.out.println("上午学理论");

            System.out.println("下午学编程");

            System.out.println("经过复习,这次合格了吗?");

            hege = scanner.next();

        }

        System.out.println("恭喜你学习完成,去玩耍吧");

    }

}

```

### while循环结构解决问题的步骤:

1:分析循环条件和循环操作

2:套用while语法写出代码

3:检查循环能否退出

## do while 循环结构:

对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次

### 语法格式:

```java

do{

    循环操作

} while (循环条件);

```

### do while 循环的执行顺序一般如下:

1:声明并创建循环变量

2:判断循环条件是否满足,如果满足,则执行循环操作,否则退出循环

3:执行玩循环操作后再次判断循环条件 决定 继续 执行循环 还是 退出循环

### do while循环案例:

```java

import java.util.Scanner;

public class Demo03 {

    public static void main(String[] args) {

        String hege = null;  //定义一个全局的变量,恭供下文使用

        Scanner scanner = new Scanner(System.in); 

        //把扫描器定义在循环的外面,能够提高程序的性能,占用更少的电脑系统资源

        do {

            System.out.println("上机编写程序");

            System.out.println("合格了吗?");

            hege = scanner.next();

            //限制性,在判断

        } while (!"y".equals(hege));

        System.out.println("恭喜你合格了");

    }

}

```

### 使用do while循环解决问题的步骤如下:

1:分析循环条件和循环操作

2:套用while语法写出代码

3:检查循环能否退出

## for循环

### 语法格式:

```Java

for(表达式1;表达式2;表达式3){

//循环体

}

```

for循环中有三个表达式

| 表达式1: | 赋值语句 | 循环结构的初试部分,为循环变量赋初值                        | 举例  int  i = 0  |

| --------- | -------- | ------------------------------------------------------------ | ----------------- |

| 表达式2: | 条件语句 | 循环结构的循环部分                                          | 举例:  i <  100 |

| 表达式3:  | 赋值语句 | ,通常使用++或--运算符              循环结构的迭代部分,通常用来修改循环变量的值 | 举例    i++      |

### for循环结构执行的顺序

1:执行初始部分( int i= 0;)

2:进行循环条件判断(i<100)

3:根据循环条件判断结果

4:执行迭代部分,改变循环变量值(i++)

5:依次重复步骤(2) ~步骤(4)知道退出for循环结构

### for 循环案例

```java

package edc.xcdq;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

      Scanner scanner =  new Scanner(System.in);

      int sum = 0 ;

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

        System.out.println("输入第"+ i +"门课的成绩");

        int fen = scanner.nextInt();

        sum += fen;    //sum = sum+fen

    }

    int pingjunfen = sum / 5;

        System.out.println("平均分为:"+ pingjunfen);

    }

}

```

### for循环解决问题的步骤:

1:明确循环条件和循环操作

2:套用while语法写出代码

3:检查循环能否退出

## break语句的使用:

break 语句不仅可以用在while 和do while 循环结构中 也可以用在for循环结构中

break 语句案例:

```java

import java.util.Scanner;

public class break语句的练习 {

    public static void main(String[] args) {

        int score;

        int sum =0;

        int avg;

        boolean isNegative = false;

        Scanner scanner = new Scanner(System.in);

        System.out.println("输入学生姓名");

        String name = scanner.next();

        int i=0;

        while(i<5){

            System.out.println("请输入第" + (i+1) + "门课的成绩 :");

            score = scanner.nextInt();

            if(score < 0){

                isNegative = true;

                break;

            }

            sum = sum + score;

            i++;

        }

        if(isNegative){

            System.out.println("抱歉,分数录入错误,请重新进行录入!");

        }else {

            avg = sum / 5;

            System.out.println(name + "的平均分是:"+avg);

        }

    }

}

```

## continue语句的使用:

#### continue语句用于跳出本次循环,进入下一次循环的语句

#### continue语句的案例

```java

import java.util.Scanner;

public class Continue的练习 {

        public static void main(String[] args) {

            int score;

            int num =0;

            int avg;

            Scanner scanner = new Scanner(System.in);

            System.out.println("输入班级总人数");

            int total = scanner.nextInt();

            int i=0;

            while(i < total){

                i++;

                System.out.println("请输入第" + i + "位学生的成绩");

                score = scanner.nextInt();

                if(score < 80){

                    continue;

                }

                num++;

            }

                System.out.println("80分以上的学生人数是:"+num);

            double rate = (double) num / total *100;

            System.out.println("80分以上的学生所占的比例为"+ rate + "%");

            }

        }


```

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 几个问题 张三oracle考试成绩未达到自己的目标。为了表明自己勤奋学习的决心,他决定写一百遍“好好学习,天天向上...
    蛋炒饭_By阅读 813评论 0 0
  • 0x00前言 在生活中有很多需要重复性操作的示例:播放器的单曲循环,用于方便我们不断的只听一首歌曲。 我...
    Denny2015阅读 339评论 0 0
  • 1.循环:重复性做某件事。作用:减化代码,提高复用性 2.循环结构的组成部分 2.1:初始化语句:要作循环前的准备...
    暗庆余生阅读 458评论 0 1
  • Switch选择结构介绍 如果使用多重选择结构下面是我整理的代码: public class Main { pub...
    han741阅读 760评论 0 1
  • 循环结构:在某些条件满足情况下,反复执行特定代码的功能 循环语句分类: for while do...while ...
    白名琰阅读 367评论 0 0