課程
/后端開發
/Java
/Java入門第一季(IDEA工具)升級版
為什么把初始變量int從for語句里面拿出來定義在前面的話,就只能輸出一行;而把初始變量定義I在for循環的括號里面就能正確輸出三行。
這兩個前后順序到底有什么區別嗎?
2016-07-11
源自:Java入門第一季(IDEA工具)升級版 4-14
正在回答
我親自測試了一遍,發現如果int j定義在第一個for循環里面就不會有問題,如:
public?static?void?funtion1() { for?(int?i?=?0;?i?<=?4;?i++)?{ for?(int?j?=?0;?j?<=?4;?j++)?{ System.out.print(i?+?""?+?j?+?"?"); } System.out.println(); } } public?static?void?funtion2() { int?i?=?0; for?(;?i?<=?4;?i++)?{ int?j?=?0; for?(;?j?<=?4;?j++)?{ System.out.print(i?+?""?+?j?+?"?"); } System.out.println(); } } public?static?void?main(String[]?args)?{ System.out.println("funtion1"); Test1.funtion1(); System.out.println("========================="); System.out.println("funtion2"); Test1.funtion2(); }
結果:
funtion1
00 01 02 03 04?
10 11 12 13 14?
20 21 22 23 24?
30 31 32 33 34?
40 41 42 43 44?
=========================
funtion2
由上可得知,如果將int j 定義在外面,那么當第一層(i = 0)for循環后j的值就一直等于5,那么從第二層(i = 1)開始不會再進入j這一層循環,但如果放在里面則可以保證順利進入j這一層循環。
望采納!
weibo_Cc_Maiden月_03594558 提問者
第一種情況 :變量j 是在for循環內定義的 ? 在每次進入第二個for循環 都將它初始化為 1?
第二種情況: 變量 j 是屬于main 方法的 ,在第二個for 循環結束之后 j的值為 9 ,跳到第一個for循環 將不再進入內循環了
應該是只打印了一行*,然后輸出了7個換行吧
舉報
0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始
2 回答求助大神快來看
1 回答求大神幫助看一下哪里錯了
2 回答求助大神?。。?/p>
2 回答求助大神。。。。
2 回答求助大神!
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-07-11
我親自測試了一遍,發現如果int j定義在第一個for循環里面就不會有問題,如:
結果:
funtion1
00 01 02 03 04?
10 11 12 13 14?
20 21 22 23 24?
30 31 32 33 34?
40 41 42 43 44?
=========================
funtion2
00 01 02 03 04?
10 11 12 13 14?
20 21 22 23 24?
30 31 32 33 34?
40 41 42 43 44?
由上可得知,如果將int j 定義在外面,那么當第一層(i = 0)for循環后j的值就一直等于5,那么從第二層(i = 1)開始不會再進入j這一層循環,但如果放在里面則可以保證順利進入j這一層循環。
望采納!
2016-07-11
第一種情況 :變量j 是在for循環內定義的 ? 在每次進入第二個for循環 都將它初始化為 1?
第二種情況: 變量 j 是屬于main 方法的 ,在第二個for 循環結束之后 j的值為 9 ,跳到第一個for循環 將不再進入內循環了
2016-07-11
應該是只打印了一行*,然后輸出了7個換行吧