Java学习——判断语句和循环语句(下)

目录

练习(输出1~1000之间的水仙花数)

while循环

案例

练习

do...while循环

案例

三种循环的区别

for和while区别

死循环

结束语


前言:上篇结尾我们讲到了如何用for循环进行1~n求和,今天我们来讲剩余的两个循环,while循环和do...while循环。在本篇最后会讲到3个循环之间的区别。

在将while循环之前,我们先讲一个关于for循环的一个练习。

练习(输出1~1000之间的水仙花数)

首先我们来讲什么是水仙花数。水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。

 那我们如何来求解每个位上的数字?假定一个数为389.

首先,我们先来求解百位上的数字

int x = 389 / 100

其次,我们求解十位上的数字

int y = 389 / 10 % 10

最后,我们来求解个位上的数字

int z = 389 % 10

我们再通过for循环就能求出1~1000之间的所有水仙花数

代码示例

public class Demo04 {
    public static void main(String[] args) {
        for (int i = 100; i < 1000; i++) {
            //求百位数字
            int x = i / 100;
            //求十位数字
            int y = i / 10 % 10;
            //求个位数字
            int z = i % 10;
            if (x * x * x + y * y * y + z * z * z == i) {
                System.out.println(i);
            }
        }
    }
}

while循环

格式:while(条件判断语句){

                  循环体;

                  条件控制语句;  

}

案例

public class Demo06 {
    public static void main(String[] args) {
        int i = 1;
        while (i <= 5) {
            System.out.println("Hello World!");
            i++;
        }
    }
}

练习

题目:

一张纸折叠多少次,可以折叠成珠穆朗玛峰的高度。其中珠穆朗玛峰高度为8844.43m,一张纸的初始厚度为0.1mm。

首先,我们先将已知数据在代码中显示出来

int count = 0; //计数器
double paper = 0.1; //初始纸张厚度
int zmf = 8844430; //珠穆朗玛峰高度

其次,利用while循环

while (paper <= zmf) {
    paper *= 2; //每折叠一次,纸张厚度加倍
    count++; //每折叠一次,次数加一
}

最后,将结果打印输出

System.out.println("需要折叠" + count + "次");

完整代码

public class Demo07 {
    public static void main(String[] args) {
        int count = 0; //计数器
        double paper = 0.1; //初始纸张厚度
        int zmf = 8844430; //珠穆朗玛峰高度
        while (paper <= zmf) {
            paper *= 2; //每折叠一次,纸张厚度加倍
            count++; //每折叠一次,次数加一
        }
        System.out.println("需要折叠" + count + "次");
    }
}

do...while循环

格式:初始化语句;

          do{

                 循环体语句;

                条件控制语句;

          }while(条件判断语句);

案例

public class Demo08 {
    public static void main(String[] args) {
        int i = 1;
        do {
            System.out.println("Hello World!");
            i++;
        } while (i <= 5);
    }
}

三种循环的区别

  • for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)。
  • do...while循环先执行一次循环体,然后判断条件是否成立,是否执行循环体(先执行后判断)

for和while区别

  • 条件控制语句所控制的自增变量,归属for循环语句语法中,for循环结束后便不能被访问。
  • 条件控制语句所控制的自增变量,不归属while循环语句语法中,while循环结束后,任可以继续使用。

死循环

public class Demo09 {
    public static void main(String[] args) {
        //死循环
        for (;;){
            System.out.println("for");
        }
        while (true){
            System.out.println("while");
        }
        do {
            System.out.println("do...while");
        }while (true);
    }
}
        

结束语

关于Java中的判断语句和循环语句到今天就大致讲完了,后面还有更多的有趣的知识等着我们去学习,我也会陆续更新后面的Java知识,你的一键三连就是对我最大的鼓励。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AlwaysBeMyself

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

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

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

打赏作者

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

抵扣说明:

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

余额充值