接下来,我们学习while循环结构语句
格式:

范例:

知道了while循环的格式后,下面我们到IDEA中去演示一下:
xxxxxxxxxx/* while循环结构 */public class WhileDemo { public static void main(String[] args) { int i = 1; while (i<=5) { System.out.println("HelloWorld"); i++; } }}代码演示后,通过Debug查看了一下程序的执行流程,让我们更清晰while循环的执行流程。
最后,我们再来总结一下while循环的执行流程:
执行流程:

讲解完毕后,大家赶快动手练习一下吧。
需求:求1-100之间的奇数和,并把求和结果在控制台输出
首先,我们来简单的分析一下:
分析:
① 对1-100的奇数求和,和前面讲解的偶数求和几乎是完全一样,仅仅是判断条件不同
② 判断条件是奇数才参与运算,因此条件应该是判断是否是奇数
③ 当循环执行完毕时,将最终数据打印出来
分析完毕之后,我们到IDEA中去实现一下:
xxxxxxxxxx/* 需求:求1-100之间的奇数和,并把求和结果在控制台输出 */public class WhileTest01 { public static void main(String[] args) { //定义求和变量,初始化值为0 int sum = 0; //获取1-100之间的数据// int i = 1;// while (i<=100) {// //判断数据是否是奇数//// if(i%2 != 0) {//// sum += i;//// }//// if(i%2 == 1) {// sum += i;// }//// i++;// } int i = 1; while (i <= 100) { sum += i; i += 2; //1,3,5,7...99,101 } //输出结果 System.out.println("1-100之间的奇数和是:" + sum); }}讲解完毕后,大家赶快动手练习一下吧。
需求:世界最高峰珠穆朗玛峰(8848.86m),我现在有一张足够大的纸张,厚度为:0.001m。请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?
首先,我们来简单的分析一下:
分析:
① 因为要反复折叠,所以要使用循环,该选for循环还是while循环呢?
xxxxxxxxxx<font color='red'>**小技巧:循环次数明确,使用for循环;循环次数不明确,使用while循环**</font>这里不知道折叠多少次,这种情况下更适合使用while循环
② 纸张每折叠一次,厚度加倍,因此要先定义纸张厚度,在循环中使厚度加倍
③ 什么时候就停止折叠了呢?直到纸张的厚度大于等于珠峰的高度,反言之,就要折叠
④ 要求的是统计折叠次数,所以会用到统计思想
分析完毕后,我们来说一下实现步骤:
实现步骤:
① 定义统计变量,初始化值为0
② 定义纸张厚度变量和珠峰高度变量
③ 用while循环实现反复折叠,判断条件是纸张厚度小于珠峰高度
④ 循环体中要做两件事情:一是纸张厚度加倍,二是统计变量+1
⑤ 当循环结束,输出统计变量的值
知道了实现步骤,下面我们到IDEA中去实现一下:
xxxxxxxxxx/* 需求:世界最高峰珠穆朗玛峰(8848.86m),我现在有一张足够大的纸张,厚度为:0.001m。 请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度? */public class WhileTest02 { public static void main(String[] args) { //1:定义统计变量,初始化值为0 int count = 0; //2:定义纸张厚度变量和珠峰高度变量 double paper = 0.001; double zf = 8848.86; //3:用while循环实现反复折叠,判断条件是纸张厚度小于珠峰高度 while (paper < zf) { //4:循环体中要做两件事情:一是纸张厚度加倍,二是统计变量+1 paper *= 2; count++; } //5:当循环结束,输出统计变量的值 System.out.println("要折叠" + count + "次"); }}讲解完毕后,大家赶快动手练习一下吧。