Java的循环结构

循环结构

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 + "%");

            }

        }


```

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

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,779评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 6,999评论 1 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,633评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 2,683评论 2 9