💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] ## **while基本语法:** ``` while(循环条件){     语句块; } ``` 通过上面可以看出while循环的语法结构非常简单,它的执行顺序以及原理是这样的,先判断布尔表达式的结果,如果是true,则执行循环体,循环体结束之后,再次判断布尔表达式的结果,如果是true,再执行循环体,循环体结束之后,再判断布尔表达式的结果,直到结果为false的时候,while循环结束。如果起初第一次判断布尔表达式结果的时候就是false,那么while循环体执行次数就为0了。 :-: ![](https://img.kancloud.cn/b8/08/b808ada77bfebf5f79ea1a6aca322dce_515x162.png) <br> <br> ## **while原理:** :-: ![](https://img.kancloud.cn/6d/e2/6de2b3b1017653e1c75fadcf61e0558b_498x361.png) 实际上while循环可以看做是for循环的另一种变形写法,本质上是一样的,执行效率上也是一样的,硬要说它们有什么不同的话,首先while循环语法结构比for更简单,for循环的计数器比while更清楚一些,另外for循环的计数器对应的变量可以在for循环结束之后就释放掉,但是while循环的计数器对应的变量声明在while循环外面,扩大了该变量的作用域。总之,不管是for还是while,都必须掌握,因为这两个循环使用最多。 <br> ## **do while案例:** ``` public class day01_while{ public static void main(String [] args){ int nun = 10; do{ System.out.println("do is :" + nun); nun++; }while(nun >= 20 && nun <= 19); System.out.println("while is :" + nun); } } ``` ## **while案例:** ``` public class day02_while{ public static void main(String [] args){ int sum = 10; while(sum >= 11 && sum <= 20){ System.out.println("hhhh i`m accord with condition"); sum++; } System.out.println("ai shit~~~"); } } ``` ``` public class day02_while{ public static void main(String [] args){ int sum = 11; while(sum >= 11 && sum <= 20){ System.out.println("hhhh i`m accord with condition"); sum++; } System.out.println("ai shit~~~"); } } ``` 如果可以,将代码运行一遍,你会发现do while和while用法原理一样,只是规则不同,do while先执行,在判断,while是先判断在执行 ## **while和do-while的比较** while 循环和 do-while 循环的相同处是:都是循环结构,使用 while(循环条件) 表示循环条件,使用大括号将循环操作括起来。 while 循环和 do-while 循环的不同处如下: * 语法不同:与 while 循环相比,do-while 循环将 while 关键字和循环条件放在后面,而且前面多了 do 关键字,后面多了一个分号。 * 执行次序不同:while 循环先判断,再执行。do-while 循环先执行,再判断。 * 一开始循环条件就不满足的情况下,while 循环一次都不会执行,do-while 循环则不管什么情况下都至少执行一次