JAVA学习笔记(四)-程序流程控制

分支结构

public class SwicthDemo4 {
    public static void main(String[] args) {
        // 需求:用户输入月份可以展示该月份的天数。
        // 135781012月份是 31// 2月份是闰年为29天、非闰年为28天。
        // 46911月份 是30int month = 7;
        switch (month){
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                System.out.println(month +"是31天!");
                break;
            case 2:
                System.out.println(month +"月闰年为29天、非闰年为28天!");
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                System.out.println(month +"是30天!");
                break;
            default:
                System.out.println("数据有误!");
        }
    }
}

运行结果
在这里插入图片描述

循环结构

for循环,求和



public class ForDemo1 {
    public static void main(String[] args) {
        // 目标:学会使用for循环,并理解它的执行流程。
        // 需求:输出3次HelloWorld
        for (int i = 0; i < 3; i++) {
            System.out.println("HelloWorld");
        }

        System.out.println("---------------------");
        for (int i = 0; i < 5; i++) {
            System.out.println("HelloWorld");
        }

        System.out.println("---------------------");
        for (int i = 1; i < 5; i++) {
            System.out.println("HelloWorld");
        }

        System.out.println("---------------------");
        for (int i = 1; i <= 5; i++) {

        }

        System.out.println("---------------------");
        for (int i = 1; i <= 5; i+=2) {
            System.out.println("HelloWorld");
        }
    }
}


运行结果
在这里插入图片描述



public class ForTest2 {
    public static void main(String[] args) {
        // 需求:计算1-5的和
        // 2、定义一个整数变量用于累加数据求和
        int sum = 0;
        // 1、定义一个for循环找到 1 2 3 4 5
        for (int i = 1; i <= 5 ; i++) {
            // i = 1 2 3 4 5
            // 3、把循环的数据累加给sum变量
            /**
             等价于: sum = sum + i
             i == 1  sum = 0 + 1
             i == 2  sum = 1 + 2
             i == 3  sum = 3 + 3
             i == 4  sum = 6 + 4
             i == 5  sum = 10 + 5
             */
            sum += i;
        }
        System.out.println("1-5的和是:" + sum);
    }
}

运行结果
在这里插入图片描述



public class ForTest3 {
    public static void main(String[] args) {
        // 需求:求1-0的奇数和
        // 3、定义一个求和的变量 累加奇数和
        int sum = 0;
        // 1、定义一个循环找到 1 2 3...10
        for (int i = 1; i <= 10; i++) {
            // i  1 2 3 4 5 6 7 8 9 10
            // 2、筛选出奇数
            if(i % 2 == 1){
                // i = 1 3 5 7 9
                sum += i;
            }
        }
        // 4、输出求和变量即可
        System.out.println("1-10的奇数和是:" + sum);

        System.out.println("-------------------");
        // 2、定义一个求和的变量 累加奇数和
        int sum1 = 0;
        // 1、定义循环找到 1 3 5 7 9
        for (int i = 1; i <= 10; i+=2) {
            // i = 1 3 5 7 9
            sum1 += i;
        }
        // 3、输出求和变量即可
        System.out.println("1-10的奇数和是:" + sum1);
    }
}

运行结果
在这里插入图片描述



public class ForTest4 {
    public static void main(String[] args) {
        // 需求:找出水仙花数并输出
        // 在循环外定义一个变量用于记录水仙花的个数
        int count = 0;
        // 1、定义一个for循环找出全部三位数
        for (int i = 100; i <= 999; i++) {
            // 2、判断这个三位数是否满足要求
            // i = 157
            // 个位
            int ge = i % 10;
            // 十位
            int shi = i / 10 % 10;
            // 百位
            int bai = i / 100;
            if( (ge*ge*ge + shi * shi * shi + bai * bai * bai) == i){
                System.out.print(i+"\t");
                count++;
            }
        }
        System.out.println(); // 换行!
        System.out.println("水仙花个数是:" + count);
    }
}

运行结果
在这里插入图片描述

package com.itheima.loop;

public class WhileDemo5 {
    public static void main(String[] args) {
        // 目标:学会使用while循环,并理解它的流程
        int i = 0;
        while (i < 3){
            System.out.println("Hello World");
            i++;
        }
        System.out.println("----------------------");
        int j = 0;
        while (j < 3){
            System.out.println("Hello World");
        }
    }
}

while循环




public class WhileDemo5 {
    public static void main(String[] args) {
        // 目标:学会使用while循环,并理解它的流程
        int i = 0;
        while (i < 3){
            System.out.println("Hello World");
            i++;
        }
        System.out.println("----------------------");
        int j = 0;
        while (j < 3){
            System.out.println("Hello World");
        }
    }
}

运行结果
在这里插入图片描述
珠穆朗玛峰案例


public class WhileTest6 {
    public static void main(String[] args) {
        // 需求:珠穆朗峰高度是8848860 纸张厚度 0.1 折叠纸张直到不低于珠穆朗峰位置,求折叠几次
        // 1、定义变量记录山峰的高度 纸张的厚度
        double peakHeight = 8848860;
        double paperThickness = 0.1;

        // 3、定义一个变量用于记录纸张折叠的次数
        int count = 0;

        // 2、定义一个while循环控制纸张进行折叠
        while (paperThickness < peakHeight){
            // 让纸张的厚度多一倍
            paperThickness *= 2;
            count++;
        }
        System.out.println("折叠的次数:" + count);
        System.out.println("纸张的最终厚度:" + paperThickness);
    }
}

运行结果
在这里插入图片描述



public class DoWhileDemo7 {
    public static void main(String[] args) {
        // 目标:学会使用dowhile循环,并理解其执行流程
        int i = 0;
        do {
            System.out.println("Hello World");
            i++;
        }while (i < 3);

        System.out.println("--------------------");
        for (int j = 0; j < 3; j++) {
            System.out.println("Hello World");
        }
        for (int j = 0; j < 3; j++) {
            System.out.println("Hello World");
        }

        int n = 0;
        while (n < 3){
            System.out.println("Hello World");
            n++;
        }
        System.out.println(n);
    }
}

运行结果
在这里插入图片描述



import java.util.Scanner;

public class DeadForDemo8 {
    public static void main(String[] args) {
        // 目标:学会定义死循环。
//        for ( ; ; ) {
//            System.out.println("Hello World~~~~");
//        }

        // 经典写法
//        while (true) {
//            System.out.println("我是快乐的死循环~~~~");
//        }

//        do{
//            System.out.println("我是快乐的死循环~~~~");
//        }while (true);
        System.out.println("-----------------------------");

        // 1、定义正确的密码
        int okPassword = 520;
        // 2、定义一个死循环让用户不断的输入密码认证
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请您输入正确的密码:");
            int password = sc.nextInt();
            // 3、使用if判断密码是否正确
            if(password == okPassword){
                System.out.println("登录成功了~~~");
                break; // 可以理解结束当前所在循环的执行的
            }else {
                System.out.println("密码错误!");
            }
        }
    }
}

运行结果
在这里插入图片描述



public class ForForDemo9 {
    public static void main(String[] args) {
        // 目标:理解嵌套循环的执行流程
        // 场景:假如你有老婆,然后你犯错了,你老婆罚你说5天,每天3句我爱你。
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 3; j++) {
                System.out.println("我爱你");
            }
            System.out.println("--------------");
        }

        /**
         *****
         *****
         *****
         *****
         */
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.print("*");
            }
            System.out.println(); // 换行
        }
    }
}

在这里插入图片描述



public class BreakAndContinueDemo10 {
    public static void main(String[] args) {
        // 目标:理解breakcontinue的作用。
        // 场景:假如你又有老婆了,然后你犯错了,你老婆罚你做5天家务,每天都是洗碗。
        // 但是洗碗到第三天后心软了 原谅你了不用洗了
        for (int i = 0; i < 5; i++) {
            System.out.println("快乐的洗碗~~~~");
            if(i == 2) {
                break; // 跳出并结束当前循环的执行~~
            }
        }

        // continue 跳出当前循环的当次执行,进入循环的下一次
        // 场景:假如你又有老婆了,然后你犯错了,你老婆罚你做5天家务,
        // 每天都是洗碗。但是洗碗到第三天后心软了 原谅你了不用洗了 但是依然不解恨 继续洗第45for (int i = 1; i <= 5 ; i++) {
            if(i == 3){
                continue; // 立即跳出当次执行,进入循环的下一次!
            }
            System.out.println("洗碗:" + i);
        }


    }
}

在这里插入图片描述



public class BreakAndContinueDemo11 {
    public static void main(String[] args) {
        // 目标:理解breakcontinue操作外部循环。
        // 场景:假如你有老婆,你老婆罚你说3天,每天5句我爱你,但是说到第二天的第3句就心软了,以后都不用说了!
        OUT:
        for (int i = 1; i <= 3; i++) {
            for (int j = 1; j <= 5; j++) {
                System.out.println("我爱你~~");
                if(i == 2 && j == 3){
                    break OUT; // 指定跳出外部循环,并结束外部循环了!
                }
            }
            System.out.println("-----------------");
        }

        System.out.println("====================================================");
        // continue可以指定结束外部循环的当次执行,进入外部循环的下一次执行
        // 场景:假如你有老婆,你老婆罚你说3天,每天5句我爱你,但是说到第二天的第3句就心软了,当天
        // 不用说了,但是依然不解恨,第3天还是要说的。
        OUT:
        for (int i = 1; i <= 3; i++) {
            for (int j = 1; j <= 5; j++) {
                System.out.println("我爱你~~");
                if(i == 2 && j == 3){
                    continue OUT;
                }
            }
            System.out.println("-----------------");
        }
    }
}

运行结果
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

丰。。

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

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

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

打赏作者

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

抵扣说明:

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

余额充值