循环语句—案例练习

目录

案例:打印数据

案例:求和

案例:求偶数和

案例:水仙花数

案例:统计水仙花数个数

案例:珠穆朗玛峰

案例:猜数字


案例:打印数据

需求:在控制台输出1至5和5至1的数据

分析:
1.使用for循环语句来输出数据1-5和5-1
for(初始化语句;条件判断语句,执行循环体语句)
2.从1开始到5结束,设置初始化从1开始,
设置判断条件为没有到5的时候继续执行,执行到5的时候结束,
从1到5每次增加1,设置条件控制每次+1
for(int a = 1; a <= 5; a++)
3.将反复执行的事情写入循环结构内部
for(int a = 1; a <= 5; a++) {
System.out.println(a);
}
从5开始到1结束,设置初始化从5开始,
设置判断条件为没有到1的时候继续执行,执行到1的时候结束,
从5到1每次减少1,设置条件控制每次-1
for(int a = 5; a >= 1; a--)
3.将反复执行的事情写入循环结构内部
for(int a = 5; a >= 5; a--) {
System.out.println(a);

代码演示:

public class ForNumber {
    public static void main(String[] args) {
        //使用for循环语句来输出数据1-5
        for (int a = 1; a <= 5; a++) {
            System.out.println(a);
        }

        System.out.println("----");

        for (int a = 5; a >= 1; a--) {
            System.out.println(a);
        }
    }
}

案例:求和

需求:求1至5之间的数据和,并把求和结果在控制台输出

分析:
1.求和的结果必须用一个变量保存起来,用于保存求和的结果,初始值为0
int sum = 0
2.使用for循环语句完成1-5之间的数据设定初始化语句,设置判断条件为没有到5的时候继续执行,
执行到5的时候结束,从1到5每次增加1,设置条件控制每次+1
fou(int a = 1; a <= 5; a++)
3.将反复进行过的事情写入循环结构内部,此处反复进行的事情是将数据i加到用于保存最终求和的变量sum中
fou(int a = 1; a <= 5; a++) {
    sum += i
4。当循环执行完毕后,将最终数据打印出来
 System.out.println(sum);
}

代码演示:

public class ForNumber1 {
    public static void main(String[] args) {
        int sum = 0;
        /*使用for循环语句完成1-5之间的数据设定初始化语句,设置判断条件为没有到5的时候继续执行,
        执行到5的时候结束,从1到5每次增加1,设置条件控制每次+1
        */
        for (int a = 1; a <= 5; a++) {
            sum += a;
        }

        /*
        第一次sum:sum + a == 0 + 1 == 1;
        第二次sum:sum + a == 1 + 2 == 3;
        第三次sum:sum + a == 3 + 3 == 6;
        第四次sum:sum + a == 6 + 4 == 10;
        第五次次sum:sum + a == 10 + 5 == 15;

        第一次i == 1;sum == 0 相加等于1,sum就==1
        第二次i要做++运算 == 2;sum == 1,相加等于3,sum就==3
        第三次i==2,再做++运算i==3;sum==3,相加等于6,sum就==6
        第四次i==3,再做++运算i==4,sum==6,相加等于10,sum就==10
        第五次i==4,再做++运算i==5,sum==10,相加等于15,sum就等于15
        第六次i==5,再做++运算i==6,条件判断语句就判断为false,就停止运行
        */

        //当循环执行完毕后,将最终数据打印出来
        System.out.println(sum);//所以sum==15

        //自我延伸,需求 1至999的和

        /*求和的结果必须用一个变量保存起来,用于保存求和的结果,初始值为0
            int number = 0
         */
        int number = 0;

        //使用for循环语句完成1-5之间的数据设定初始化语句,设置判断条件为没有到5的时候继续执行,
        //    执行到5的时候结束,从1到5每次增加1,设置条件控制每次+1
        for (int b = 1; b <= 999; b++) {
            number += b;
        }

        //当循环执行完毕后,将最终数据打印出来
        System.out.println(number);
    }
}

案例:求偶数和

需求:求1-100之间的偶数和,并把求和结果在控制台输出。

分析:
1.求和的结果必须用一个变量保存起来,用于保存结果,初始值为0
int number = 0
2.使用for语句,使用for循环语句完成1-100之间的数据设定初始化语句,设置判断条件为没有到100的时候继续执行,
执行到100的时候结束,从1到100每次增加1,设置条件控制每次+1
设定初始化语句:int a = 1
设置判断条件为:a <= 100
设置条件控制为每次+1:a++
for(int a = 1; a <= 100; a++) {

}
3.要求1-100之间的偶数和,排除奇数需要镶嵌if语句来帮忙排除1-100之间的奇数
for(int a = 1; a <= 100; a++) {
    if(a % 2 == 0) {
    }
}
4.当循环完毕之后,并把最终结果打印出来
System.out.println(a)

代码演示:

public class ForNumber2 {
    public static void main(String[] args) {
        //求和的结果必须用一个变量保存起来,用于保存结果,初始值为0
        int number = 0;

        //设置初始化语句
        int a = 1;

        //使用for循环语句镶嵌if语句限制条件并把循环语句的最终结果打印出来
        for (a = 1; a<=100; a++) {

            //判断a是否是偶数 是偶数才让他们相加
            if (a % 2 == 0) {
                number += a;
            }
        }

        //输出语句放在循环语句外面输出结果就不会得所以循环结果只会得到最终结果
        System.out.println(number);
    }
}

案例:水仙花数

需求:在控制台输出所有的“水仙花数”

什么是“水仙花数”?

  • 水仙花数是三个数

例如:111、222、333、370、371、520、999

  • 水仙花的各位是为个位、十位、百位的数字立方和等于原数

例如:

123是1³+2³+3³=1+8+27=123,就不是水仙花数

371是3³+7³+1³=27+343+1=371是水仙花数

分析:
1.三位数的个位数字如何求
    371 % 10 = 1;1就是原始数字除以10取余的运算结果

2.三位数的百位数字如何求
    371 / 100= 3就是原始数字除以一百的结果(整除)

3.三位数的十位数字如何求
    371 / 10 % 10 = 7;就是原始数字除以时得到37,7变成个位再按照分析1获得十位数

代码演示:

public class ForDemo2 {
    public static void main(String[] args) {
        //设定初始化语句
        int i = 100;

        /*使用for循环语句完成100-999之间的数据判断,到999结束
        并设置条件判断,和条件控制
        写for(i = 100,i < 1000;i++)也是可以的
        因为水仙花数是三位数所以起始值为100,
        设定条件判断i>999之后终止循环语句
        条件控制:需要遍历三位数所以使用i++依次循环判断
         */
        for(i =100; i <= 999; i++) {
            //求三位数的个位百位十位
            int ge = i % 10;
            int bai = i /100;
            int shi = i / 10 % 10;
            //判断条件计算个位十位百位三个数的立方是否等于i
            if(ge * ge * ge + shi * shi * shi + bai * bai* bai == i) {
                //如果上面个十百位数的立方相加等于i,这个i就是我们的水仙花数,并输出结果
                System.out.println(i);
            }
        }
    }
}

案例:统计水仙花数个数

需求:统计水仙花数,一共有多少个,并在控制台输出

分析:

①定义一个变量用于统计水仙花数的个数,初始值为0.

        int b = 0;

②使用for循环遍历100-999获取水仙花数

③设置水仙花数的要求

④使用if语句判断,如果发现满足水仙花数要求的数就给变量b+1

⑤在控制台输出水仙花数和水仙花数的个数

public class ShuiXianHua {
    public static void main(String[] args) {
        //定义一个变量用于接收水仙花的个数
        int b = 0;
        //提示语胡
        System.out.println("水仙花数分别是:");
        //遍历100-999
        for (int a = 100; a < 1000; a++) {
            //设置水仙花数的要求
            int bai = a / 100;
            int shi = a / 10 % 10;
            int ge = a % 10;
            //满足要求的即为水仙花数
            if (bai * bai * bai + shi * shi * shi + ge * ge * ge == a) {
                //输出水仙花数
                System.out.println(a);
                //如果有一个数满足要求就给b的值加1(就可以得到水仙花数的个数)
                b++;
            }
        }
        //输出水仙花数的个数
        System.out.println("水仙花数有" + b++ +"个");
    }
}

案例:珠穆朗玛峰

需求:世界最高山峰是珠穆朗玛峰(8848.43米=8848430毫米),假如我有一张足够大的纸,他的厚度是0.1毫米。请问我折叠多少次,可以折成珠穆朗玛峰的高度?

分析:
1.定义一个变量用于统计纸的折叠次数,初始值为0
int a = 0
2。使用while循环语句
定义初始化语句定义纸张的厚度:double d = 0.1
设置条件判断语句厚度不超过珠峰高度超过即停止:d <= 8848430;
设置条件控制语句使循环中厚度加倍:d *= 2;
设置一个计数器,在循环中执行累加操作,对应叠加了多少次
a++;
3.打印计数器的值

代码演示:

public class Mt_EverestDemo {
    public static void main(String[] args) {
        //定义一个变量用于统计纸的折叠次数,初始值为0
        int a = 0;

        /*2。使用while循环语句
            定义初始化语句:double d = 0.1
            设置条件判断语句:d <=8848430
            设置条件控制语句:d *= 2;
            在循环中执行累加操作,对应叠加了多少次
            a++
         */
        double d = 0.1;
        while (d <= 8848430) {
            d *= 2;
            a++;
        }

        //打印计数变量的值
        System.out.println(a);
    }
}

案例:猜数字

案例:猜数字

需求:程序自动生成生成一个1-100之间的随机数,使用程序实现猜出这个数字是多少?

当猜错的时候更具不同情况给出相应的提示

     如:

  • 如果猜的数字比真实数字大,提示你猜的数据大了
  • 如果猜的数字比真实数字小,提示你猜的数据大了
  • 如果猜的数字与真实数字相等,提示恭喜你猜对了

分析:
1.需要生成一个随机数需要导包
import java.util.Random;
2.需要创建对象
Random r = new Random();
3.需要产生一个随机数,并用变量保存起来
int x = r.nextInt(数字范围);
4.采用键盘录入的方式来猜随机数
创建对象
Scanner sc = new Scanner(System.in);
5.使用一个变量接收键盘录入的数据
int y = sc.nextInt();
6.因为无法预知几次能够猜中需要用while反复循环,
而while通常用于描述未知次数的循环。
while(条件) {}
7.比较输入的数字和系统产生的数据,需要使用分支语句。这里使用
if…else…if格式,根据不同情况进行猜测结果显示,当猜中后使用break结束循环
if(条件:比猜测的数字大) {
    输出语句体
} else if(条件比猜测的数字小) {
    输出语句体
} else {
    输出语句体
    break;
}

代码演示:

//1导包

import java.util.Random;
//2导包
import java.util.Scanner;

public class GuessNumber {
    public static void main(String[] args) {
        /*1创建对象,注意1的创建对象和产生随机数千万不能改放在死循环里面,
        否则会每次循环获得一个新的随机数可能会导致我们永远猜不中
         */
        Random r = new Random();
        //1生成随机数并设定范围
        int x = r.nextInt(100) + 1;

        //这里需要用死循环来多次猜测while需要把下面if语句括起来
        while (true) {
            System.out.println("请输入你要猜的数字:");


        /*2使用键盘录入来接收数据,键盘录入需要放置再while循环里跟着循环,要是没猜对需要继续输入
        键盘录入必须放置在创建对象下面
         */
            Scanner sc = new Scanner(System.in);
            int y = sc.nextInt();

            /*比较输入的数字和系统产生的数据,需要使用分支语句。这里使用
            if…else…if格式,根据不同情况进行猜测结果显示
             */
            if (y > x) {
                System.out.println("你猜的数字" + y + "大了");
            } else if (y < x) {
                System.out.println("你猜的数字" + y + "小了");
            } else {
                System.out.println("恭喜你猜对了");

                //猜中后使用break结束,如果不填break结束会猜对了还会让你继续猜
                break;
            }
        }
    }
}

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
教学目标: 1. 了解循环结构的概念和作用; 2. 掌握 while 循环和 for 循环的使用方法; 3. 能够熟练运用循环结构完成头歌编写。 教学重点: 1. while 循环的使用方法; 2. for 循环的使用方法; 3. 头歌的编写。 教学难点: 1. 循环结构的灵活应用; 2. 头歌的编写。 教学过程: 一、导入新知识 老师可以先通过一个小游戏的形式引出循环结构的概念和作用。例如,让学生依次报数,当数到某个数字时,就要做出一定的动作,这时候就可以用到循环结构,让这个动作一直执行,直到游戏结束。 二、讲解循环结构 1. while 循环:当满足条件时,就一直执行循环体中的语句,直到不满足条件时才结束循环。 2. for 循环:按照指定次数执行循环体中的语句,可以用来遍历序列或集合。 三、演示循环结构的使用方法 1. while 循环: ```python # 计算 1 到 100 的和 sum = 0 i = 1 while i <= 100: sum += i i += 1 print(sum) ``` 2. for 循环: ```python # 遍历列表 fruits = ['apple', 'banana', 'orange'] for fruit in fruits: print(fruit) # 遍历数字序列 for i in range(1, 10): print(i) ``` 四、讲解头歌的编写 1. 头歌是通过循环结构实现的,可以用 while 循环或 for 循环来完成。 2. 循环体中的语句可以是打印歌词,也可以是播放音乐。 3. 头歌的编写要注意节奏和韵律,可以参考已有的头歌模板或自己创作。 五、让学生练习编写头歌 老师可以给学生一些头歌的模板,让他们根据自己的喜好和创意进行填词或改编。也可以让他们自己编写一首头歌,并在班级中进行分享和演唱。 六、总结 通过本节课的学习,学生们掌握了循环结构的使用方法,熟练掌握了头歌的编写技巧。在实践中,他们也锻炼了自己的创意和表达能力,提高了编程思维和艺术素养。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

贰陆.256

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

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

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

打赏作者

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

抵扣说明:

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

余额充值