看板 java 關於我們 聯絡資訊
※ 引述《damon2506 (程程)》之銘言: : 請問在C中可以使用while(1){ : if(a>b) break; : } : 其中的while(1),是無條件執行,直到break為止. : 我是java新手,想請問java是否也有類似的語法? : 目前我只會: : int a=0; : while(a==0){ : if(a>b)break; : } : 請問在while()條件式內,是否有更好的寫法? : 謝謝!! 大部分人喜歡用 while (true) { .... } 但我比較喜歡 for (;;) { ... } 從 Java 語法的語意上來看, 這兩種寫法其實有一點小小的不同: while (true) 的 true 仍然是一個完整的 Java Expression, 是要運算然後測試結果的 boolean value, 只是剛好結果永遠固定. 而 for (;;) 的 (;;) 裡面完全沒有 Expression 需要運算, 也不需要測試. 換句話說, 其實是要靠 compiler optimization 把 while (true) 的 true 運算省略 才會得到跟 for (;;) 一模一樣的結果. 實務上, 最笨的 compiler 也會知道可以把 (true) 拿掉, 所以其實完全沒差, 但我自己就看 for (;;) { ... } 順眼一點 :P -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.132.21
PsMonkey:程式碼的語意也很重要阿 XD 03/08 00:53
godfat:以前也是寫for(;;)但後來覺得;;很怪,就都寫成while(true)了 03/08 01:09
H45:同上,我也是 while(true) 一派的 :) 03/08 06:36
jtmh:while(true) 比較直覺易讀+1 03/08 08:21
zero00072:loop { ... }, RUBY 的語法。(戰) 04/24 01:54