【7.9笔记】循环结构while、do-while、for

本文详细介绍了Java中的三种循环结构——while、do-while和for,包括各自的语法、实例应用以及它们之间的共同点和区别。在while循环中,先判断条件再执行循环体;do-while循环则是先执行后判断;for循环适用于循环次数已知的情况,而while和do-while适合循环次数不确定的场景。
摘要由CSDN通过智能技术生成

循环结构:while、do-while、for

一、while

while语句:
while(条件表达式){
执行语句
}
在这里插入图片描述
下面看具体实例

1.有1020个西瓜,第一天卖掉总数的一半后又多卖出两个
以后每天卖剩下的一半多两个,问几天以后能卖完?

public class T1 {
    public static void main(String[] args) {
        int day=0;
        int num=1020;
        while(num>0){
            num=num/2-2;
            day++;
        }
        System.out.println(day+"天后卖完");
    }
}

2.任意输入一个整数(小于10位),输出它一共有多少位。

public class T4 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int a=sc.nextInt();
        int i=1;
        while(a/10!=0){
            a=a/10;
            i++;
        }
        System.out.println(i);
    }
}

二、do-while

do-while循环结构:
do{
执行语句
}while(条件判断);
在这里插入图片描述
下面看一些例子
1.斐波那契数列(有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对? 分析:兔子的规律为数列,1,1,2,3,5,8,13,21)

public class Ti3 {
    public static void main(String[] args) {
        int a=1,b=1;
        int i=1;
        do{
            a=a+b;
            b=a+b;
            i++;
        }while (i<=((12-2)/2));
        System.out.println(b);
    }
}

2.一张纸的厚度大约是0.08mm,对折多少次之后能达到或超过珠穆朗玛峰的高度(8848.13米)

public class T8 {
    public static void main(String[] args) {
        double paper=0.08;
        double mountain=8848130.0;
        int time=0;
        do{
            paper*=2;
            time++;
        }while(paper<mountain);
        System.out.println(time);
    }
}

3.你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数

public class T10 {
    public static void main(String[] args) {
        int i=0,j=0;//j为奇数,i为偶数
        int a=1;
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一组数字:");
        do {
            a=sc.nextInt();
            if(a%2==0){
                i++;
            }else{
                j++;
            }
        }while (a>0);
        System.out.println("奇数为"+(j-1)+"偶数为"+i);
    }
}

三、for

for(int i=0; i <N; i++)
{

}
1、初始化i=0
2、判断i是否小于N
3、执行花括号中内容(注意这里先执行循环体,再i++)
4、i++
在这里插入图片描述
1.计算1000以内所有不能被7整除的整数之和

public class T5 {
    public static void main(String[] args) {
        int sum=0;
        for(int i=1;i<=1000;i++){
            if(i%7!=0){
                sum+=i;
            }
        }
        System.out.println(sum);
    }
}

在这里插入图片描述
2.本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是

public class T6 {
    public static void main(String[] args) {
        double m=10000.0;
        for(double i=1;i<=5;i++){
            m=m*1.003;
        }
        System.out.println(m);
    }
}

3.从控制台输入一个正整数,计算该数的阶乘。例如输入5,阶乘为 54321

public class T9 {
    public static void main(String[] args) {
        System.out.println("请输入一个数字:");
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        int j=1;
        for(int i=1;i<=a;i++){
            j*=i;
        }
        System.out.println(j);
    }
}

四、共同点及区别总结

1.语法:

~while循环:
while(条件){
//循环体
}

~do while循环:
do{
//循环体
}while(条件);

~for循环:
for(初始化;条件;迭代){
//循环体
}

2.执行顺序:
while 循环:先判断,再执行
do-while循环:先执行,再判断
for循环:先判断,再执行

3.适用情况:
循环次数确定的情况,通常选用for循环
循环次数不确定的情况,通常选用while或do-while循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

youzi-qiu7

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

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

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

打赏作者

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

抵扣说明:

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

余额充值