for循环
for(int i = 0; i < 5; i++) { System.out.println("Hello world"); }
执行的流程:
- 循环一开始,执行int i=0 一次。
- 此时 i = 0,接着计算机执行循环条件语句:0<3 返回true,计算机就进到循环体中执行,输出:helloWorld,然后执行选代语句i++。
- 此时 i = 1,接着计算机执行循环条件语句:1<3 返回true,计算机就进到循环体中执行,输出:helloWorld,然后执行选代语句i++。
- 此时 i = 2,接着计算机执行循环条件语句:2<3 返回true,计算机就进到循环体中执行,输出:helloWorld,然后执行选代语句i++。
- 此时 i = 3,然后判断循环条件:3<3 返回false,循环立即结束!
for循环在开发中的常见应用场景
- 减少代码的重复编写、灵活的控制程序的执行
for循环的其他常见应用
- 批量生产数据
// 产生1-100的数字,并求和 int sum = 0; for(int i = 1; i <= 100; i++) { sum += i; } System.out.println(sum);
while循环
public class test { public static void main(String[] args) { int i = 0; while(i < 5) { System.out.printlb("Hello world"); i++; } } }
与for循环的执行流程一样。
while和for有什么区别?什么时候用for,什么时候用while?
- 功能上是完全一样的,for能解决的while也能解决,反之亦然。
- 使用规范:如果一开始不知道循环次数的情况下,建议使用while循环解决更专业。一开始就知道循环几次的情况下,使用for循环来解决更专业。
小案例
需求:世界最高山峰珠穆朗玛峰高度是:8848.86米=8848860毫米,假如我有一张足够大的纸,它的厚度是0.1毫米。请问:该纸张折叠多少次,可以折成珠穆朗玛峰的高度?
- 定义变量存储珠穆朗玛峰的高度、纸张的高度。
- 使用while循环来控制纸张折叠,循环条件是(纸张厚度<山峰高度),循环每执行一次,就表示纸张折叠一次,并把纸张厚度变为原来两倍。
- 循环外定义计数变量count,循环每折叠一次纸张,让count变量+1;
public class WhileTest { public static void main(String[] args) { double peakHeight = 8848860; //山峰高度 double paperThickness = 0.1; //纸张厚度 int count = 0; //纸张折叠次数 while(paperThickness < peakHeight) { paperThickness *= 2; count++; } System.out.println("纸张需要折叠"+ count +"次" ); System.out.println("纸张最终的厚度:"+ paperThickness + " mm"); } }
执行结果:
do-while循环
其特点是:先执行后判断
死循环
- 可以一直执行下去的一种循环,如果没有干预不会停下来。
死循环的写法
for( ; ; ) { System.out.println("Hello world"); } //经典写法 while(true) { System.out.println("Hello world"); } do { System.out.println("Hello world"); }while(true);
循环嵌套
- 循环中又包含循环。
for(int = 0; i < 3; i++) { for(int j = 0; j < 5; j++) { System.out.println("我爱你"); } }
循环嵌套的特点
- 外部循环每循环一次,内部循环会全部执行完一轮
END