3 回答

TA貢獻(xiàn)12條經(jīng)驗 獲得超9個贊
因為for循環(huán)初始化值i=7, ?判斷條件語句是i>0, 每循環(huán)一次i=i-2;
直到i=1; 再減下去 i就等于-1了, ?因為條件句是i>0所以,是false,不會再執(zhí)行j*=2;
(在這里說明一下j*=2 ?其實就是j=j*2 , ? ? ?i-=2 ?就是i=i-2)
for循環(huán)前面定義了變量,int j=2;
第1次循環(huán): ? i=7 ? ? ? ? ? 判斷大于0,正確執(zhí)行 ????運行了1次 ?j=2*2=4; ? ?結(jié)果=4 會賦值前面定義的變量 j
第2次循環(huán): ? i=7-2=5 ? 判斷大于0 ,正確執(zhí)行 ? ?運行了1次 ?j=4*2=8 ? ? 結(jié)果=8會賦值前面定義的變量 j
第3次循環(huán): ? i=5-2=3 ? 判斷大于0?,正確執(zhí)行 ? ?運行了1次 ?j=8*2=16 ?結(jié)果=16會賦值前面定義的變量 j
第4次循環(huán): ? i=3-2=1 ? 判斷大于0,正確執(zhí)行 ? ? 運行了1次 ?j=8*2=32 ?結(jié)果=32會賦值前面定義的變量 j
第5次循環(huán): ? i=1-2=-1 ?判斷小于0, ?返回false ,錯誤所以不執(zhí)行大括號中的語句
最后輸出j=32
????int?count?=0;//這個count?是計算for循環(huán)的次數(shù),這個可以不關(guān)注 int?j?=2; for?(int?i?=?7;?i?>?0;?i-=2)?{ count++; System.out.println("第"+count?+"次循環(huán)i="?+i); j*=2; //這個就是?j=j*2?的意思 System.out.println("j="?+?j);//我把每一次循環(huán)的結(jié)果都算出來了 }

TA貢獻(xiàn)51條經(jīng)驗 獲得超16個贊
初始值 i=7;
第一次:j*2=4 ? i-2=5;
第二次:j*2=8 ?i-2=3;
第三次 ?J*2=16 ?i-2=1;
第四次 j*2=32 ?i-2=-1
第五次條件判斷:i=-1<0不符合條件退出循環(huán)
添加回答
舉報