java中for循環(huán)執(zhí)行的順序圖文詳析
for循環(huán)基礎
for循環(huán)是最靈活也是最常用的循環(huán)結構,表達式一般如下:
for(條件表達式1;條件表達式2;條件表達式3){
語句塊;
}
接下來詳細介紹Java for循環(huán)執(zhí)行順序的相關內(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í)行結果是什么()
A. BADCBDCB
B. BADCADCA
C. BACDBACD
D.不確定
輸入IDEA的結果如下:
當然根據(jù)結果可以直接選擇 --------B
但是也得搞清楚緣由;
以下貼上個人理解
分析理解
平時看到的for循環(huán)都是以下的樣子:
for (int j = 0; j <10 ; j++) { System.out.println(j); }
根據(jù)這個代碼結合上面題目的代碼,來分析一下for循環(huán)到底是怎么操作的
首先打個斷點進行測試
此時毫無疑問 j=0;
這就代表for循環(huán)先執(zhí)行的是int j=0;這個條件
接下來繼續(xù)
由于當前的代碼并不能確定是否先執(zhí)行的是 j<10還是j++;
因此通過題目中的代碼進行分析
可以發(fā)現(xiàn)在執(zhí)行完B的打印后,代碼開始執(zhí)行A的打印,也就是說
for循環(huán)先執(zhí)行賦值語句,再執(zhí)行判斷條件,
程序繼續(xù)走:
開始執(zhí)行for循環(huán)中的代碼了,
在往下走
此時開始打印C,
由此總結出for循環(huán)的執(zhí)行順序:
總結
到此這篇關于java中for循環(huán)執(zhí)行順序的文章就介紹到這了,更多相關java for循環(huán)執(zhí)行順序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java synchronize底層實現(xiàn)原理及優(yōu)化
這篇文章主要介紹了Java synchronize底層實現(xiàn)原理及優(yōu)化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03JAVA獲得包含0-9、a-z、A-Z范圍內(nèi)字符串的的隨機數(shù)實例
這篇文章主要介紹了JAVA獲得包含0-9、a-z、A-Z范圍內(nèi)字符串的的隨機數(shù)實例,包含隨機數(shù)字、隨機字符串的獲取方法,需要的朋友可以參考下2014-07-07java中String、StringBuffer與StringBuilder的區(qū)別
這篇文章主要介紹了java 中String和StringBuffer與StringBuilder的區(qū)別,在開發(fā)過程中經(jīng)常會用到String這個類進行操作。需要的朋友可以收藏下,方便下次瀏覽觀看2021-12-12