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

            }

        }


```

你可能感兴趣的:(Java的循环结构)