java中for循環(huán)執(zhí)行的順序圖文詳析
for循環(huán)是最靈活也是最常用的循環(huán)結(jié)構(gòu),表達式一般如下:
for(條件表達式1;條件表達式2;條件表達式3){
語句塊;
}
接下來詳細介紹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=0;
這就代表for循環(huán)先執(zhí)行的是int j=0;這個條件
接下來繼續(xù)
由于當(dāng)前的代碼并不能確定是否先執(zhí)行的是 j<10還是j++;
因此通過題目中的代碼進行分析
可以發(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)文章:
1. Python 實現(xiàn)勞拉游戲的實例代碼(四連環(huán)、重力四子棋)2. Java GZip 基于內(nèi)存實現(xiàn)壓縮和解壓的方法3. SpringBoot+TestNG單元測試的實現(xiàn)4. jsp+servlet簡單實現(xiàn)上傳文件功能(保存目錄改進)5. PHP利用COM對象訪問SQLServer、Access6. 利用CSS制作3D動畫7. 一款功能強大的markdown編輯器tui.editor使用示例詳解8. 存儲于xml中需要的HTML轉(zhuǎn)義代碼9. JavaScript數(shù)據(jù)結(jié)構(gòu)之雙向鏈表10. .Net加密神器Eazfuscator.NET?2023.2?最新版使用教程
