java day04 循环结构(for、while、do/while)与流程控制关键字(break、continue、return)



1、什么是循环

概念:
通过某个条件,重复的执行一段逻辑代码。

在这里插入图片描述

2、for循环

2.1、for循环语法

语法:
for(初始条件语句; 循环条件语句; 条件控制语句){
//循环体
}

  1. 初始化条件:控制循环的开始
  2. 条件判断语句:控制循环的结束
  3. 条件控制语句:控制循环的过程(如何从开始到结束)

执行流程:

  • 首次执行初始部分(仅一次)。
  • 对布尔表达式进行判断,结果为true,则执行逻辑代码。
  • 本次执行完毕后,执行迭代部分,再次判断,结果仍旧为true,则再次执行逻辑代码。
  • 直至布尔表达式的结果为false时,才会退出循环结构,执行后续代码。

语法示例:

package Day04_for_while;
// 打印6遍上课
public class Demo01 {
    public static void main(String[] args) {
        for (int i=0;i<=6;i++){
            System.out.println("上课");
        }
    }
}

课堂练习:

package Day04_whileTest;

public class Demo02 {
    public static void main(String[] args) {
        //打印10-1
        int i = 10;
        while(i > 0){
           /* System.out.println(i);
            i--;*/
            System.out.println(i--);
        }
        System.out.println("-------------");

        //打印1-10之间的数据和
        int sum = 0;
        i = 1;
        while(i < 11){
            sum += i;
            i++;
        }
        System.out.println("sum:"+sum);
        System.out.println("-----------");

        //打印-100之间能被3整除的数之和
        i = 1;
        sum = 0;
        while(i < 101){
            if(i%3 == 0){
                sum += i;
            }
            i++;
        }
        System.out.println("sum:"+sum);
    }
}

2.2 for用途

适用于循环次数明确的情况

3、while循环

语法:
初始化语句
while(条件判断语句){
循环体语句
条件控制语句
}

执行流程:
初始化语句 --> 条件判断语句
–>true–>循环体语句、条件控制语句–>条件判断语句–>true–>false–>结束循环

代码示例:

public class Demo01 {
    public static void main(String[] args) {
        int i =1;
        while(i < 11){
            System.out.println(i);
            i++;
        }
    }
}

课堂练习:

package Day04_whileTest;

/**
 * @author Ran
 * @since JDK 1.8
 *          我有个梦想,想获得小小目标
 *              1.假设一个月存1000,问需要多久成为千万富翁
 *              2.假设每个月存1000,第二个月开始每个月比上一个月多存500,问多久成为千万富翁
 *              3.作为一名收入正常的程序员,一个月存6000,每一年多存1200,问多久成为千万富翁
 *
 */
public class Demo03 {
    /*
    //  1.假设一个月存1000,问需要多久成为千万富翁
    public static void main(String[] args) {
        int month = 0;
        int money = 0;
        while (money<10000000){
            money += 1000;
            month++;
        }
        System.out.println("需要"+month+"个月");
        System.out.println("需要"+month/12+"年又"+month%12+"月");
    }
    */


    /*
    //2.假设每个月存1000,第二个月开始每个月比上一个月多存500,问多久成为千万富翁
    public static void main(String[] args) {
        int month = 0;
        int money = 0;
        int addMoney = 1000;
        while(money<10000000){
            money += addMoney;
            month++;
            addMoney +=500;
        }
        System.out.println("需要"+month+"个月");
        System.out.println("需要"+month/12+"年又"+month%12+"月");
    }
     */

    //  3.作为一名收入正常的程序员,一个月存6000,每一年多存1200,问多久成为千万富翁
    public static void main(String[] args) {
        int month = 0;
        int money = 0;
        int addMoney = 6000;
        while (money<10000000){
            money+=addMoney;
            month++;
            if(month%12==0){
                addMoney+=1200;
            }
        }
        System.out.println("需要"+month+"个月");
        System.out.println("需要"+month/12+"年又"+month%12+"月");
    }
}

4、do while循环

语法:
初始化语句
do{
循环体语句;
条件控制语句
}while(条件判断语句);

执行流程:

  • 先执行一次循环操作之后,再进行布尔表达式的判断。
  • 如果结果为true,则再次执行循环操作。
  • 如果结果为false,才会退出循环结构,执行后续代码。

注意:

do/while 循环与 while 循环的区别在于:do/while 循环会先执行一次循环内容,再进行判断

代码示例:

public class Demo05 {
    public static void main(String[] args) {
        int i = 1;
        do{
            System.out.println(i++);
        }while(i < 11);
    }
}

课堂练习:

package Day04_whileTest;

import java.util.Random;
import java.util.Scanner;

public class Demo06 {
    public static void main(String[] args) {
        int max = 100;    // 最大值
        int min = 0;    // 最小值
        int guess = 0;  // 用户猜的数
        Random ran = new Random();
        int ranNum = ran.nextInt(98)+2;  //  [2,99]
        Scanner input = new Scanner(System.in);


        do {
            System.out.print("请在("+min+"~"+max+")之间猜:");
            guess = input.nextInt();
            if(guess<ranNum){
                min = guess;
            }else if(guess>ranNum){
                max = guess;
            }

        }while (guess != ranNum);
        System.out.println("恭喜你猜对了"+ranNum);
    }
}

5、流程控制关键字

break:

  • break 在循环体语句中,作用是结束当前循环
  • break借助标号可以实现结束任意一层或者多层循环
// break 在循环体语句中,作用是结束当前循环
System.out.println("程序开始");
        //break 在循环体语句中,作用是结束当前循环
        for(int i = 1;i < 5;i++){
            for(int j = 1;j < 4;j++){
                if(j == 2){
                    break;
                }
                System.out.print(j);
            }
            System.out.println();
        }
        System.out.println("程序结束");
// break借助标号可以实现结束任意一层或者多层循环
System.out.println("程序开始");
        A:
        for(int i = 1;i < 5;i++){
            for(int j = 1;j < 4;j++){
                if(j == 2){
                    break A;
                }
                System.out.print(j);
            }
            System.out.println();
        }
        System.out.println("程序结束");

continue:

  • continue在循环体语句中的作用是结束一次循环开启下次循环
// continue在循环体语句中的作用是结束一次循环开启下次循环
System.out.println("程序开始");
        for(int i = 1;i < 5;i++){
            for(int j = 1;j < 4;j++){
                if(j == 2){
                    continue;
                }
                System.out.print(j);
            }
            System.out.println();
        }
        System.out.println("程序结束");

return:

  • return的作用是结束方法
// return的作用是结束方法
System.out.println("程序开始");
        for(int i = 1;i < 5;i++){
            for(int j = 1;j < 4;j++){
                if(j == 2){
                    return;
                }
                System.out.print(j);
            }
            System.out.println();
        }
        System.out.println("程序结束");

end、今天就到此为止吧,明天依旧光芒万丈

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值