[TOC]
## **while基本語法:**
```
while(循環條件){
語句塊;
}
```
通過上面可以看出while循環的語法結構非常簡單,它的執行順序以及原理是這樣的,先判斷布爾表達式的結果,如果是true,則執行循環體,循環體結束之后,再次判斷布爾表達式的結果,如果是true,再執行循環體,循環體結束之后,再判斷布爾表達式的結果,直到結果為false的時候,while循環結束。如果起初第一次判斷布爾表達式結果的時候就是false,那么while循環體執行次數就為0了。
:-: 
<br>
<br>
## **while原理:**
:-: 
實際上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 循環則不管什么情況下都至少執行一次
- Java自動化測試
- 第一章:Java:基礎內容
- 1.1:Java:Hello Word
- 1.2:Java:熱身
- 1.3:Java:注釋
- 1.4:Java:標識符
- 1.5:Java:常量
- 1.6:Java:基本數據類型
- 1.7:Java:引用類型
- 1.8:Java:String類
- 第二章:Java:運算符
- 2.1:Java:算數運算符
- 2.2:Java:關系運算符
- 2.3:Java:邏輯運算
- 2.4:Java:賦值運算符
- 2.5;Java:三元運算符
- 2.6:Java:位運算符
- 第三章:Java:循環控制語句
- 3.1:Java:for循環
- 3.2:Java:while循環
- 3.3:Java:switch
- 3.4:Java:if else
- 3.5:Java:練習題
- 第四章:Java:函數與全局/局部變量
- 4.1:Java:局部變量
- 4.2:Java:全局變量
- 第五章:Java:方法
- 5.1:Java:初識方法
- 5.2:Java:方法調用
- 5.3:Java:方法重載
- 5.4:Java:構造方法
- 5.5:Java:方法的注意事項
- 第六章:Java:面向對象
- 6.1:Java:小案例
- 6.2:Java:this 關鍵字
- 6.3:Java:super 關鍵字
- 6.4:Java:static 關鍵字
- 6.5:Java:final關鍵字
- 6.6:Java:instanceof 運算符
- 6.7:Java:面向對象之封裝
- 6.8:Java:面向對象之繼承
- 6.9:Java:面向對象之多態
- 第七章:Java:面向對象高級進階
- 7.1:Java:抽象類
- 7.2:Java:Java中String類
- 7.3:Java:interface接口
- 7.4:Java:ArrayList
- 7.5:Java:HashSet
- 7.6:Java:HashMap
- 7.7:Java:反射(reflection)
- 第八章:Java:日志以及異常捕獲
- 8.1:Java:log4j
- 8.2:Java:異常初識基礎
- 8.3:Java:未被捕獲的異常
- 8.4:Java:try和catch的使用
- 8.5:Java:多重catch語句的使用
- 8.6:Java:throws/throw 關鍵字
- 8.7:Java:finally關鍵字
- 8.8:Java:自定義異常
- 第九章:Java:xml and IO
- 9.1:Java:IO基本概念
- 9.2:java:properties
- 9.3:Java:xml基本介紹
- 9.4:Java:xml操作實例
- 第十章:Java:JDBC編程
- 10.1:Java:JDBC介紹
- 10.2:Java:JDBC查詢
- 10.3:Java:JDBC插入
- 10.4:Java:Batch
- 10.5:Java:JDBC連接池
- 第十一章:Java:TestNG
- 11.1:java:TestNG簡介
- 11.2:Java:TestNG小實例
- 11.3:Java:TestNG.xml文件配置
- 11.4:Java:TestNG基本注解
- 11.5:Java:TestNG注解代碼
- 11.6:Java:TestNG預期異常
- 11.7:Java:TestNG忽略測試
- 11.8:Java:TestNG超時測試
- 11.9:Java:TestNG分組測試