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

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

初始化變量在for之前賦值為什么得到的結果不一樣

int i=1;

int j=1;

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

for(;j<=8;j++){

System.out.print("*");

}

System.out.println();

}


正在回答

3 回答

int?i=1;
int?j=1;
for(;i<=3;i++){
????j=1
????for(;j<=8;j++){
????????System.out.print("*");
????}
????System.out.println();
}

每次j循環結束后,給j重新賦值


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

時光先生丶 提問者

非常感謝!
2017-03-07 回復 有任何疑惑可以回復我~

驗證了一下,你這是一行“*”與三行“*”的區別。原因我想是因為看你FOR循環寫在哪個成員變量后頭,你現在是寫在“j”后頭,那么你的內外循環就只執行一次,而如果你把“i、j”都寫在各自的循環里面,那么就是一個長方形。因為當你都寫外頭時,程序按順序執行一次完成后,不可能還回來讀你的成員“i”變量。

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

阿米巴丶

那這你就理解錯了, int i=1; for(;i<=3;i++){ for(int j=1;j<=8;j++){ System.out.print("*"); } System.out.println(); } i還是在外面,你試試
2017-03-07 回復 有任何疑惑可以回復我~
#2

阿米巴丶

實際上提問者的語句的并不是沒輸出 只是后面兩句輸出的都是回車 你看不見而已
2017-03-07 回復 有任何疑惑可以回復我~

因為有兩個循環,第一個i=1時循環執行下面的循環for(;j<=8;j++),執行完后就j=9了;然后i=2,此時下面的for(;j<=8;j++)循環沒辦法執行,因為j已經是9了。所以只有第一次時會輸出********

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

舉報

0/150
提交
取消

初始化變量在for之前賦值為什么得到的結果不一樣

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

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

幫助反饋 APP下載

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

公眾號

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