先用一道筆試題目來引出
下列關于for循環和while循環的說法中哪個是正確的?( )
A.while循環能實現的操作,for循環也都能實現
B.while循環判斷條件一般是程序結果,for循環判斷條件一般是非程序結果
C.兩種循環任何時候都可替換
D.兩種循環結構中都必須有循環體,循環體不能為空
for循環一般表達式:
for(表達式1;表達式2;表達式3)
語句
它的執行過程如下:
- 先求解表達式1。
- 求解表達式2,若其值為真(非0),則執行for語句中指定的內嵌語句,然后執行下面第(3)步;若其值為假(0),則結束循環,轉到第5)步。
- 求解表達式3。
- 轉回上面第2)步繼續執行。表達式1只執行一次。
- 循環結束,執行for語句下面的一個語句
while循環一般表達式:
while(表達式)語句
其中表達式是,語句為循環體。
while語句的語義是:計算表達式的值,當值為真(非0)時, 執行循環體語句。其執行過程可用下圖表示。
使用while語句應注意以下幾點:
1、while語句中的表達式一般是關系表達或邏輯表達式,只要表達式的值為真(非0)即可繼續循環。
2、循環體如包括有一個以上的語句,則必須用{}括起來,組成復合語句。
一般在使用時,while循環是你知道條件的前提下才使用的,而for循環是需要知道循環次數。
但是我們也可以在for里面加入if來判斷以及break,而while里面加入判斷條件的變量值自增,從而來達到for和while的互換。
兩者的區別在于增強for循環,while不能實現。
增強for循環一般表達式:
for ( 循環變量類型 循環變量名稱 : 要被遍歷的對象) 循環體
增強for循環和iterator遍歷效果是一樣的,但增強for循環不能再循環里面動態刪除集合內容,不能獲取下標。
public class ForArrary
{
public static void main (String[] args)
{
int[] arr = {1,2,3,4,5,6,7};
for(int a:arr)
{
System.out.print(a);
}
}
}
筆試題答案為B