Java第七天---循环结构

循环结构:

1、while 循环

(1)语法结构:
     初始值;
     while(循环条件){
        //循环操作代码
        迭代部分
     }

(2)执行规律: 1)首先执行1次初识值代码 2)判断循环条件,如果循环条件为true,就执行{}里面的循环操作代码和迭代部分的代码,迭代完之后,继续返回判断循环条件,根据循环条件的结果决定是否继续执行循环操作 如果循环条件为false,则结束整个while循环结构,继续往下执行while循环结构之后的代码

(3)注意:

1)初始值代码只执行一次

2)循环条件不管写的多么简单或者多么复杂,结果都只能是布尔值,要么为true要么为false

3)迭代部分的作用是改变初始值,让循环条件在某一时刻不再满足,从而结束整个while循环结构

2、do-while循环

(1)语法结构:

初始值l;
                  do{
                      循环操作
                      迭代部分
                  }while(循环条件);

(2)执行规律:

1)首先执行1次初始值代码
2)进入{}里执行1次循环操作和迭代部分,执行完之后进行条件判断,如果条件为true,返回{}里执行循环操作和迭代部分,
     如果条件为false,则结束整个do-while循环结构,继续往下执行do-while循环结构后面的代码

(3)注意:

1)初始值只执行1次
2)循环条件不管写的多么简单还是复杂,都只能是布尔值,要么为true,要么为false
3)do-while循环是先执行一次循环操作,再判断循环条件,因此,如果第一次判断循环条件就不满足,循环操作也会执行一次(do-while循环里的循环操作至少会执行一次)

3、for循环

(1)语法结构:

for(初始值;循环条件;迭代部分){

         循环操作 

}

(2)执行规律:

1)首先执行1次初始值代码

 2)判断循环条件是否成立,如果循环条件为true,则执行{}里的循环操作代码,执行循环操作后,进行迭代,迭代完再进行循环条件判断,根据循环条件的结果决定是否继续执行循环操作

 如果循环条件为false,则结束整个for循环结构,继续往下执行for循环结构之后的代码

(3)注意:

1)初始值只执行1次 

2)循环条件只能是布尔值,要么为true,要么为false 

3)如果第一次判断循环条件就不满足,那么循环操作一次都不会执行

4、练习

(1)使用while循环求1-100之间所有整数之和(注意:1-100之间所有整数之和为5050)

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

(2)1000-2022之间所有闰年

public class Demo07 {
    public static void main(String[] args) {
        int i =1000;
        while (i<=2022){
            if(i%4==0){
                System.out.println(i+"是闰年");
            }
            i++;
        }
    }
}

(3)1-100整数之和

public class Demo1 {
    public static void main(String[] args) {
        int sum=0;
        for (int i = 1; i <= 100; i++) {
            sum=sum+i;
        }
        System.out.println(sum);
    }
}

(4)写一个方法,此方法实现输出100-999之间的水仙花数。

public class Homework4 {
    public static void main(String[] args) {
        //循环每一个数
        for (int i = 100; i <= 999; i++) {
            //求各个位上的数字
            int ge =i%10;
            int shi =i/10%10;
            int bai=i/100;
            //各个位的三次方相加
            int sum=ge*ge*ge+shi*shi*shi+bai*bai*bai;
            //判断是否相等
            if(sum==i){
                System.out.println(i+"是水仙花数");
            }
        }
    }
}

(5)求出1-3+5-7+9-…..101的和

public class Homework6 {
    public static void main(String[] args) {
        //定义求和的初始值
        int sum =0;
        //定义两个指针  num指针为数字的位置
        for (int i = 1,  num=1; i <= 101; i+=2,num++) {
            System.out.println(i+"   "+num);
            if(num%2==0){
                sum=sum-i;
            }else
            {sum=sum+i;}
        }
        System.out.println(sum);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值