java基础回顾-day07

循环结构

for循环语句

for循环语句格式

for(初始化语句;条件判断语句;条件控制语句){
循环体语句;
}
格式说明:

  • 初始化语句:这里可以是一条或者多条语句,这些语句用来完成初始化操作(int i=1)
  • 条件判断语句:这里使用一个结果为boolean类型的表达式,这个表达式能决定是否执行循环体语句(i<=1000)
  • 循环体语句:这里可以是任意语句,这些语句可能被多次执行
  • 条件控制语句:这里通常是使用一条语句来改变变量的值,从而达到控制循环是否继续向下执行的效果;
    执行流程图:
    在这里插入图片描述
    注释:为什么要给出这个图呢?从图上我们可以看出。先执行初始化语句和条件判断语句,打印循环体,然后在执行条件控制语句,也是就打印出一个语句i的值才会自增。这是初学者很容易迷惑的一点。特此说明!

for循环案例

  • 需求:在控制台输出1-5的数据
  • 分析:
    ①反复进行输出的动作,使用循环结构
    ②从1开始到5结束,设置初始化从1开始
    ③从1开始到五结束,设置判断条件为没有到5的时候继续执行,执行到5的时候程序结束。
    ④从1到5,每次增加1,设置条件控制每次+1
    ⑤将反复执行的语句写在循环结构的内部,打印对应数据
package com.sdh;

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

案例二:求和思想

  • 需求:求1-5之间的数据和,并把求和的结果在控制台输出
  • 分析:
    ①需要一个变量sum存求和的结果,整数求和用int类型。
    ②for循环语句判断,求1-5的和初始化语句i=1;
    条件判断语句,i<=5,一到五的和,条件控制语句i++(也可写成i+=1)
    ③注:i++,是只在变量自增一的情况下使用
package com.sdh;

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

案例三:求偶数和

  • 需求:求1-100之间的偶数和,并把求和结果在控制台输出
  • 分析:
    ①对1-100的数据求和与1-5的数据求和几乎完全一样,仅仅是结束条件不同。
    ②对1-100的偶数求和,要求对求和操作添加限制条件
    ③限制条件是偶数才参与运算,因此条件应该是判断是否是偶数
    ④当循环执行完毕时,将结果打印出来。
package com.sdh;

public class ForDemo03 {
    public static void main(String[] args) {
        int sum = 0;

        for (int i = 1; i <= 100; i++) {
            if (i % 2 == 0) {
                sum += i;
            }
        }
        System.out.println("1-100的求和结果为:"+sum);

    }
}

案例四:水仙花数

  • 需求:在控制台输出所有的“水仙花数”,水仙花数是一个三位数且个位,十位,百位的数字立方和等于原数
  • 分析:获取个位,十位,百位的数。设数位x则个位为x%10;十位为(x/10)%10,百位为(x/100)%10
  • 实现步骤:
    ①获取一个三位数,通过循环实现
    ②获取每一个三位数的个位,十位,百位
    ③判断该三位数是否为水仙花数
    ④输出水仙花数字
package com.sdh;

public class ForeDemo04 {
    public static void main(String[] args) {
//        获取一个三位数,通过循环实现
        for (int i = 100; i < 1000; i++) {
//            个位用变量g表示
            int g = i % 10;
//            十位用变量s表示
            int s = (i / 10) % 10;
//            百位用变量b表示
            int b = (i / 100) % 10;
            if (i == (g * g * g + s * s * s + b * b * b)) {
                System.out.println(i);
            }

        }
    }
}

153
370
371
407

案例五:统计思想

需求:统计“水仙花数一共有多少个,并在控制台输出个数。
实现步骤:
①定义变量count,初始化值为0
②在判定水仙花数的过程中,使count的值每次加以
③输出统计变量count的值

package com.sdh;

public class ForeDemo04 {
    public static void main(String[] args) {
        int count = 0;
//        获取一个三位数,通过循环实现
        for (int i = 100; i < 1000; i++) {
//            个位用变量g表示
            int g = i % 10;
//            十位用变量s表示
            int s = (i / 10) % 10;
//            百位用变量b表示
            int b = (i / 100) % 10;
            if (i == (g * g * g + s * s * s + b * b * b)) {
                System.out.println(i);
                count++;
            }

        }
//        水仙花数的个数
        System.out.println(count);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值