看板 java 關於我們 聯絡資訊
※ 引述《bizza (絕不放棄)》之銘言: : int i,j,m; : for(i=1;i<6;i++) { : for(j=1;j<6;j++) { : for(m=1;m<=i;m++) { : System.out.print("*"); : } : System.out.println(""); : break; : } : } : 上面執行結果是 : * : ** : *** : **** : ***** 恕刪 : 是那個break的關係嗎? 是的 其實只要把自己當成電腦跑一次就知道了 首先i=1 進入j-for迴圈時 先是j=1,然後因為i=1所以m-迴圈中先做1次(m<=i) 但是接下來的break 因為"沒有任何if之類的限制"就將它放在j-for迴圈內 所以只要跑進j-for迴圈就一定會執行到 自動跳出你的j-for迴圈 後面j=2,3,4...根本不會執行 可以說j迴圈和break根本就是多餘了,去掉執行結果依然不變(要同時去掉) 接下來i=2以後的情形也是如此(一直到i=5為止,i=6時跳出i-for迴圈) 所以依序在5行印出1~5個* -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.40.35 ※ 編輯: Egriawei 來自: 61.230.40.35 (06/01 23:05)