for语句的执行流程 ①执行初始化语句,该语句只会执行一次 ② 执行条件判断语句,例如 i <= 5,看其返回结果是true还是false,如果为 false,结束循环,如果为true,则执行循环体语句 ③当条件为true的时候,执行循环体语句 ④执行条件控制语句,改变控制循环的变量,例如i++; 随后继续执行条件判断语句,以此类推
案例 经典的“水仙花数”例子 ①首先什么是水仙花数? 水仙花数,指的是一个三位数,个位、十位、百位的数字立方和等于原数,例如153 3X3X3 + 5X5X5 + 1X1X1 = 153 从三位数中筛选,就要找出所有的三位数,所以循环该从最小的三位数100开始,循环到最大的三位数999。 ②如何获取一个三位数的个位,十位,百位? 将循环中获取到的每一个数值,使用a变量记录 a % 10 得到个位 a / 10 % 10 得到十位 a/ 100 得到百位
public class ForDemo{ public static void main (String[] args){ int count = 0; int a = 100; while(a<1000){ int ge = a%10; int shi = a/10%10; int bai = a/100; int c =ge*ge*ge+shi*shi*shi+bai*bai*bai; if(c == a){ count++; System.out.println(a+"是水仙数"); } a++; }System.out.println("水仙数共有:"+count+"个"); } }while语句的执行流程 ①执行初始化语句(程序从上到下执行,也必须先执行这一句) ② 执行条件判断语句,看其结果是true还是false,false的话结束循环,true的话则向下继续执行 ③循环条件满足,执行循环体语句(循环真正做的事情) ④执行条件控制语句 ⑤继续执行条件判断语句,看其返回结果是true,还是false…以此类推
案例
/*已知珠穆朗玛峰高为(8844.43米),一张纸的厚度为0.1毫米, 折多少次可以折成珠穆朗玛峰的高度 */ public class ZhuFeng{ public static void main(String[] args){ int count = 0; int zf = 8844430; double zhi = 0.1; while (zhi<=zf){ zhi *=2; count++; } System.out.println("需要折叠"+count+"次"); } }1、for循环和while循环,是先判断后执行。
2、do…while循环是先执行后判断
3、for循环和while循环的区别 for循环内部定义的变量,在循环之后就会从内存中释放掉,再想使用就找不到了,而while控制循环的变量是定义在循环外部,循环结束后可以继续使用。(也可以将for循环的初始化语句定义在循环外部)
扩展三种死循环的格式
//for循环 for(;;){ } //while循环(最常用) while(true){ } //do...while循环 do{ }while(true);