亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

多重循環中for語句的循環條件為啥不能用j==i

for (int i = 1; i<=3; i++) {

for (int j = 1; j<=i;j++ ? ) {? ? ? ? ? ? ? ?

System.out.print("*");

}

System.out.println();

}

請問第二句為啥不能是for (int j = 1; j==i;j++ ? ) 呢?

正在回答

7 回答

可以這么寫,但是邏輯上就是只有j=i=1執行一次打印*

0 回復 有任何疑惑可以回復我~
#1

aswindy

后面的j初始值為1,i直接與其不相等,就沒有后面的j++的執行
2016-10-21 回復 有任何疑惑可以回復我~
#2

NothingOonYou 提問者 回復 aswindy

請問j=i=1之后,不是就直接j自加一,然后判斷不與i相等才跳出循環的嗎?
2016-10-21 回復 有任何疑惑可以回復我~
#3

aswindy 回復 NothingOonYou 提問者

嗯,是的,跳出后,i=2和第三次的i=3都不滿足j=i所以內層循環不會執行。
2016-10-21 回復 有任何疑惑可以回復我~
#4

NothingOonYou 提問者 回復 aswindy

這里我有點不明白,j自加等于2后,跳出,這時i自加也為2,開始第二次大循環,怎么到了里面就不想等了呢?是我理解的執行順序出錯了?
2016-10-21 回復 有任何疑惑可以回復我~
#5

aswindy 回復 NothingOonYou 提問者

里面那個循環j重新初始化是從j=1開始,所以j==i是不成立的,進入不了循環,直接跳出。
2016-10-21 回復 有任何疑惑可以回復我~
#6

aswindy 回復 NothingOonYou 提問者

i=2的時候,里面j是從1開始,明顯二者不等,循環不執行,j++也不會執行;i=3的時候也是如此。
2016-10-21 回復 有任何疑惑可以回復我~
查看4條回復

了解了,感謝各位的熱心回答(某位除外)。

0 回復 有任何疑惑可以回復我~

我剛學 就懂 ?你還不懂 真笨 ?比我還笨,大笨狗


0 回復 有任何疑惑可以回復我~

外循環執行一次,內循環執行一圈,如果將i值賦值給j那么j的值會隨著外循環的變化而變化。在java中這種情況是不運行的。

0 回復 有任何疑惑可以回復我~

假設i=2,j=1的情況,第二個for循環就是for(j=1;j==2;j++),很明顯這個就運行不了。

0 回復 有任何疑惑可以回復我~

你這個代碼運行的結果是一個直角三角形,因此在進行第二行輸出兩個**時,若判斷條件為j==i.即2==1,不符合條件,因此不進入內層循環也就無法輸出*了

0 回復 有任何疑惑可以回復我~

j==i之后,j>i也滿足情況,所以j會一直加下去

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167463    人
  • 解答問題       18748    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

多重循環中for語句的循環條件為啥不能用j==i

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號