java中for循環(huán)執(zhí)行的順序圖文詳析
for循環(huán)是最靈活也是最常用的循環(huán)結(jié)構(gòu),表達(dá)式一般如下:
for(條件表達(dá)式1;條件表達(dá)式2;條件表達(dá)式3){
語句塊;
}
接下來詳細(xì)介紹Java for循環(huán)執(zhí)行順序的相關(guān)內(nèi)容,先看看一道面試題,
來自小米筆試static boolean foo(charc){ System.out.print(c);return true; } public static void main(String[] args) { int i =0;for(foo(’B’);foo(’A’)&&(i<2);foo(’C’)) { i++; foo(’D’); } }
上述代碼Java函數(shù)的執(zhí)行結(jié)果是什么()
A. BADCBDCB
B. BADCADCA
C. BACDBACD
D.不確定
輸入IDEA的結(jié)果如下:
當(dāng)然根據(jù)結(jié)果可以直接選擇 --------B
但是也得搞清楚緣由;
以下貼上個人理解
分析理解平時看到的for循環(huán)都是以下的樣子:
for (int j = 0; j <10 ; j++) { System.out.println(j); }
根據(jù)這個代碼結(jié)合上面題目的代碼,來分析一下for循環(huán)到底是怎么操作的
首先打個斷點進(jìn)行測試
此時毫無疑問 j=0;
這就代表for循環(huán)先執(zhí)行的是int j=0;這個條件
接下來繼續(xù)
由于當(dāng)前的代碼并不能確定是否先執(zhí)行的是 j<10還是j++;
因此通過題目中的代碼進(jìn)行分析
可以發(fā)現(xiàn)在執(zhí)行完B的打印后,代碼開始執(zhí)行A的打印,也就是說
for循環(huán)先執(zhí)行賦值語句,再執(zhí)行判斷條件,
程序繼續(xù)走:
開始執(zhí)行for循環(huán)中的代碼了,
在往下走
此時開始打印C,
由此總結(jié)出for循環(huán)的執(zhí)行順序:
到此這篇關(guān)于java中for循環(huán)執(zhí)行順序的文章就介紹到這了,更多相關(guān)java for循環(huán)執(zhí)行順序內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
