『壹』 為什麼使用do…while循環編譯後生成的代碼的長度短於while循環
一般情況下兩種方法下,while會比do while多一條進去循環的跳轉指令,如下圖匯編代碼,黃色是多出來的。
原因是do while是直接進去循環,先執行再判斷,while是先判斷再執行,所以在進入時先要跳到判斷的地方。
這里的影響太小了,不用太過於關注,而且大部分情況下還是要先判斷再執行,所以while還是用的最多的。
『貳』 用JAVA的do-while語句編寫程序例子
public class SimpleDoWhile {
public static void main(String[] args) {
int index = 1;
do {
System.out.println(index);
index = index + 1;
} while(index <= 10);
System.out.println("DONE.");
}
}
輸出結果為:
(2)dowhile語句編譯擴展閱讀:
do...while 和while循環非常相似,區別在於表達式的值是在每次循環結束時檢查而不是開始時。
和正規的 while 循環主要的區別是 do-while 的循環語句保證會執行一次(表達式的真值在每次循環結束後檢查),然而在正規的 while 循環中就不一定了(表達式真值在循環開始時檢查,如果一開始就為FALSE則整個循環立即終止)。
總結:while循環是先判斷後循環 ,而do–while循環是先循環後判斷。