不负相思意
2018-10-05 16:55:35浏览 2142
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