JAVA水仙花while语句_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

13class 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

20class 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

17class 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

15class 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+"次");

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值