手记

java03-4 while循环语句

 while循环的基本格式:

                  while(判断条件语句) {

                            循环体语句;

                  }                

                  扩展格式:              

                  初始化语句;

             while(判断条件语句) {

                             循环体语句;

                             控制条件语句;

                  }                

                  通过这个格式,我们就可以看到其实和for循环是差不多的。              

                  for(初始化语句;判断条件语句;控制条件语句) {

                            循环体语句;

                  }

1、需求:用while循环 求出1-100之和

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

class LianShou{

    public static void main(String[]   args)

    {

        int sum = 0;

        int i = 0;  //while语句先定义变量,再进入while循环

        while(   i<=100)

        {

            sum   += i;

            i   ++;

        }

        System.out.println(sum);         

    }

}

2、需求:统计水仙花数有多少个

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

class LianShou{

    public static void main(String[]   args)

    {

        int count = 0;

        int i = 100;

        while(i   <= 999)

        {

            int ge = i%10;

            int shi = i/10%10;

            int bai = i/100%10;

            if(i==(ge*ge*ge+shi*shi*shi+bai*bai*bai))

            {

                count   ++;

            }

            i   ++; // 上面的一段是对i进行水仙花数判断,

                //判断过后i要继续增加,进行下个数的判断

        }

        System.out.println("水仙花数一共有:"+count+"个");

    }

}

    while循环和for循环的区别?

                  使用区别:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。

                            因为变量及早的从内存中消失(跳出了变量所在的那个大括号),可以提高内存的使用效率。

例子:

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

class WhileDemo4 {

    public static void main(String[]   args) {

        //for循环实现

        for(int x=0; x<10; x++) {

            System.out.println("java");

        }    

        System.out.println(x);   //会出现错误,因为这里已经跳出了x变量的for循环大括号,所以这里不能在继续访问了

         

              //while循环实现

        int y = 0;

        while(y<10)   {

            System.out.println("学习Java技术哪家强,中国北京传智播客");

            y++;

        }

        System.out.println(y);//这里是可以继续访问的,还处于定义y变量的大括号内

    }

}

 

         其实还有一种场景的理解:

                            如果是明确一个范围的,用for循环非常明确。

                            如果是不明确要做多少次,用while循环较为合适。

                                     举例:吃葡萄。(总不能先数几颗葡萄再吃吧..还有就吃,所以用while)

 

3、需求:

         我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。

         请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?

 

         分析:

                  A:定义一个统计变量,默认值是0

                  B:最高山峰是珠穆朗玛峰:8848m这是最终的厚度

                    我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度

                  C:我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?

                    折叠一次有什么变化呢?就是厚度是以前的2倍。

                  D:只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++

                  E:输出统计变量。

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

class LianShou{

    public static void main(String[]   args)

    {

        int i = 1; //简便化,把0.01变为1

        int feng = 884800; //8848则变为884800

        int count = 0; //统计多少次才能达成目标

         

        while(i   < feng){

            count   ++;

            i   *=2;//每折叠一次,厚度就是前面的2倍

        }

        System.out.println("第"+count+"次的厚度是"+i+"cm");

        System.out.println("要折叠到珠穆朗玛峰的高度,需要"+count+"次");

    }

}

原文链接:http://www.apkbus.com/blog-833059-61640.html

0人推荐
随时随地看视频
慕课网APP