Day3.循环结构

一.循环结构

​ Java中循环控制语句:while循环、do-while循环、for循环。循环结构的特点,在给定的条件成立时,反复执行某一段程序,直到条件不成立为止

​ 循环语句的主要的作用:

​ 反复执行某一段程序,直到不满足一定的条件为止:把循环分为3部分:

​ 1.初始化部分:设置循环的初始状态

​ 2.循环体:重复执行的代码

​ 3.循环的条件:判断循环的条件,例如使用"i<100"判断循环的次数是否达到100次

1.while循环

while循环的语法格式:

变量的初始化

​		while(循环条件){

​			循环体

​		}

while也是java中的关键字,小括号的内容是循环条件

​ 循环条件是一个布尔表达式,它的值是true或false

​ 大括号中的语句统称为循环操作,或者叫循环体
在这里插入图片描述
注意:

​ while语句是先执行判断循环条件,再执行循环体

​ 如果第一次判断循环条件为false(假),循环将一次不执行

while语句的执行步骤:

​ 1.首先对循环条件的结果进行判断,如果为真,则执行循环语句

​ 2.执行完毕后,继续对循环条件进行判断,如果为真,继续执行

​ 3.如果结果是假(false),跳出循环语句,去执行后面的语句

例1

​ 需求:

​ 实现:

​ 1+2+3+…+100的求和计算

​ 实现步骤:

​ 1.首先定义一个变量sum,代表总和,初始值为0;

​ 2.定义循环变量i;依次取1~100之间的每个数,初始值为1

​ 3.当i<=100时,重复进行加法操作,将sum+i的值再赋给sum,每次相加后,将i的值递增

​ 4.当i的值变成101时,循环条件为false,则退出循环,并输出最终的结果

package Test4;

/**
 * @author:Xem626
 * @date 2022/7/3   11:06
 * @TODO
 */
public class Test1 {
    public static void main(String[] args) {
        int a=0;
        int sum=0;
        while(a<=100){
            sum+=a;
            a++;

        }
        System.out.println("和为:"+sum);
    }
}

在这里插入图片描述

2.do-while循环

do-while循环语句的语法格式如下:

变量初始化

​		do{

​			循环体

​		}while(循环条件)

1.do-while以关键字do开头

​ 2.大括号括起来的就是循环体

​ 3.最后while关键字和紧随其后小括号括起来的就是循环条件
在这里插入图片描述

do-while语句执行的步骤

​ 1.首先执行循环体

​ 2.执行完毕后,对循环条件的结果进行判断

​ 3.如果结果为真,则继续执行循环体,否则,终止循环,执行后面的语句

注意
​ do-while先执行循环体,再执行循环条件,所以循环体至少执行依次,这点和while循环相反

例2
需求:

​ 实现:

​ 1+2+3+…+100的求和计算

实现步骤:

​ 1.和while语句基本相同,先定义变量sum和变量i并赋值

​ 2.然后执行循环

​ 3.差别是先执行循环体,再判断循环条件,与while语句相反

package Test4;

/**
 * @author:Xem626
 * @date 2022/7/3   11:16
 * @TODO
 */
public class Test2 {
    public static void main(String[] args) {
        int a=1;
        int sum=0;
        do{
            sum+=a;
            a++;

        }while(a<=100);
        System.out.println("和为"+sum);
    }
}

在这里插入图片描述

3.for循环

for循环的语法格式如下:

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

​				循环体

​			}

或者更直观的表示为:

for(变量的初始化;循环条件;修改循环变量的值){

​			循环体

​		}

​ 1.for循环以关键字for开头

​ 2.大括号括起来的是循环体

​ 3.表达式1;表达式2;表达式3,分别用来实现变量的初始化,判断循环条件和修改循环变量的值
在这里插入图片描述

for语句的执行步骤:

​ 1.首次执行表达式1,一般进行变量初始化的操作

​ 2.然后执行表达式2,即对循环条件进行判断

​ 3.如果结果为真,则执行循环体

​ 4.循环语句执行完毕后执行表达式3,改变循环的变量的值,再次执行表达式2;

​ 如果结果是真,继续循环

​ 5.如果结果是假,终止循环,执行后面的语句
注意
1.无论循环多少次,表达式1只执行1次

​ 2.for语句和while语句功能相似,都是先判断条件再执行,只是采用了不同的语法格式
例3
需求:

​ 输入一个学生的姓名和他五门课的成绩,求出平均值,输出结果

实现步骤:

​ 1.获得键盘输入一名学生的名字

​ 2.获得键盘输入这名学生的5门课的成绩,因为5门课,也就是固定了循环次数5次,首选for循环

​ 循环操作接收该学生的每门课的成绩,并累加,以获得5门课的总成绩

​ 3.求出平均分在控制台上输出结果

package Test4;

import java.util.Scanner;

/**
 * @author:Xem626
 * @date 2022/7/3   11:21
 * @TODO
 */
public class Test {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int sum=0;
        System.out.println("请输入学生姓名:");
        String name=scanner.next();
        for(int a=1;a<6;a++){
            System.out.println("请输入第"+a+"门课成绩");
            int b=scanner.nextInt();
            System.out.println("该学生第"+a+"门课成绩为:"+b);
            sum+=b;
        }
        System.out.println("5门课总成绩为:"+sum);
        System.out.println("平均分为:"+sum/5);

    }
}

在这里插入图片描述

4.多重循环

多重循环指一个循环体中再包含一个循环语句,又称之为嵌套循环。循环语句内可以嵌套多层循环,同时不同的循环语句可以相互嵌套

多重循环的语法格式:

多重循环的语法格式:

​		while(循环条件1){

​			循环语句1

​			for(循环条件2){

​				循环语句2

​			}	

​		}

1.这是while循环语句和for循环语句嵌套的例子,其中while循环称之为外层循环,for循环称之为内层循环,因为是两层循环,称为二重循环

​ 2.该二重循环执行的过程:外层while循环每循环依次,内层for循环就从头到尾完整的执行一遍

例4
需求:

​ 计算若干个学生每人5门课程的平均分

​ 1.循环接收一个学生的5门课成绩,求出平均分

​ 2.使用多重循环

分析:

​ 在上述需求中,外循环一次处理一个学生的姓名和录入平均分计算,内循环处理每个学生的5门课成绩,也就是说,外循环每执行一次,内循环执行5次

package Test;


import java.util.Scanner;

/**
 * @作者:Xem626
 * @date: 2022/7/3 20:40
 * @TODO
 */
public class Test3 {
    public static void main(String[] args) {
            String  end=null;
        do{
            int score=0;
            int sum=0;
            double avg=0.0;
            Scanner scanner=new Scanner(System.in);
            System.out.println("请输入学生姓名:");
            String name=scanner.next();
            for(int i=0;i<5;i++){
                System.out.println("请输入5门课中第"+(i+1)+"门课成绩");
                score =scanner.nextInt();
                sum +=score;


            }
            avg=sum/5;
            System.out.println(name+"的平均分是"+avg);
            System.out.println("\n继续输入Y/N?");
            end=scanner.next();




        }while(end.equals("Y")||end.equals("y"));
        System.out.println("成绩录入结束");
    }
}

在这里插入图片描述

5.循环的对比

1.语法格式的不同

​ 2.执行的顺序不同:

​ (1).while循环:先判断循环条件,再执行那个循环体,如果条件不成立,退出循环

​ (2).do-while循环:先执行循环体,再判断循环条件,循环体至少执行一次

​ (3).for循环:先执行变量初始化部分,再判断循环条件,然后执行循环体,最后进行循环变量的计算

​ 如果条件不成立,跳出循环

​ 3.适用的场景不同:

​ 在解决问题的时候,对于循环次数确定的情况下,我们使用for循环,对于循环次数不确定的情况下,通常选用while和do-while循环

二.跳转语句

Java语言中支持3种类型的跳转语句:continue语句、return语句,break;使用这些语句,可以把控制转移到循环甚至程序的其他地方。

1.break语句

作用:在循环种终止当前循环,在switch语句中终止switch语句

例1
需求:

​ 请实现输出数字1-10,若遇到4的倍数程序自动退出

package Test;

/**
 * @作者:Xem626
 * @date: 2022/7/3 21:23
 * @TODO
 */
public class Test4 {
    public static void main(String[] args) {
        for(int i=1;i<=10;i++){

            if(i%4==0){
                break;
            }
            System.out.println(i);
        }
        System.out.println("循环结束");
    }
}

在这里插入图片描述
分析:
1.当前的for循环如果i%4=0,则执行break命令
2.break语句的作用就是终止当前循环的语句的执行,然后执行当前循环后面的语句

例2
需求:

​ 用户输入字符串并进行显示,直到输入“bye”为止,请使用break语句实现

package Test;

import java.util.Scanner;

/**
 * @作者:Xem626
 * @date: 2022/7/3 21:30
 * @TODO
 */
public class Test5 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(true) {
            System.out.println("请输入字符串:");
            String input = scanner.next();
            System.out.println("你输入的字符串为:"+input);
            if("loveu".equals(input)){
                System.out.println("输入结束");
                break;
            }

        }



    }
}

在这里插入图片描述
注意:
Java中判断两个字符串是否相等,用equals()判断两个字符串的值是否相等,用“==”比较判断内存地址是否相等

2.continue语句

作用:

强制循环提前返回,也就是让循环跳过本次循环中剩余代码,然后进入下次循环

例2
需求:

​ 实现输出1-10中非4的倍数的输出

​ 分析:

​ 执行程序,将输出“1,2,3,4,5,6,7,8,9,循环结束”。结果中应该没有4和8

​ 2.当i=4,i=8,满足条件,执行continue语句并没有终止整个循环,而是终止本次循环,不再执行

​ continue语句后的输出语句

package Test;

/**
 * @作者:Xem626
 * @date: 2022/7/3 21:41
 * @TODO
 */
public class Test6 {
    public static void main(String[] args) {
        for(int i=1;i<10;i++){

            if(i%4==0){
                continue;
            }
            System.out.println(i);
        }
    }
}

在这里插入图片描述
注意

​ 在while循环和do-while循环中,continue执行完毕后,程序将直接判断循环条件,如果为true,则继续下次循环,否则,终止循环,而在for循环中continue使用程序先跳转到循环变量计算部分,然后再判断循环条件

3.return语句

return语句的作用:

是结束当前方法的执行,并退回返回到该方法的语句处
例3
需求:

​ 请实现输出1-10中4以的数字
分析:

​ 1.执行该程序,将输出"1,2,3"结果中没有for循环下面输出“循环结束”的打印。

​ 2.当i=4时,满足条件,执行return语句,结束当前的循环,也结束了整个方法的执行

package Test;

/**
 * @作者:Xem626
 * @date: 2022/7/3 21:50
 * @TODO
 */
public class Test {
    public static void main(String[] args) {
        for (int i=1;i<=10;i++){
            if(i%4==0){
                return;
            }
            System.out.println(i);
        }
        
    }
}

在这里插入图片描述

本章总结:

​ 1.程序控制结构包括顺序结构、选择结构和循环结构,由这3种基本结构组成的程序可以解决任何复杂的问题

​ 2.顺序结构是指程序从上向下依次执行每条语句的结构,中间没有任何判断和跳转

​ 3.选择结构是根据条件判断的结构来选择执行不同的代码。在Java种提供了if控制语句、switch语句来实现选择结构

​ 4.循环结构是指根据循环条件来重复性的执行某段代码。在Java中提供while语句、do-while语句、for语句等来实现循环结构

​ 5.跳转语句中,break语句和continue语句用来实现循环结构的跳转,而return语句用来跳转方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xem626

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值