※ 引述《windf4.bbs@ptt.cc (windf4)》之銘言:
> ※ 引述《vrgigi.bbs@bbs.mgt.ncu.edu.tw (~重享榮耀~)》之銘言:
> : 找到了~~原來?:也可以這樣寫
> : 呵呵
> : System.out.println((score>=90 && score<=100)?"甲":
> : ((score>=80 && score<=90)?"乙":
> : ((score>=70 && score<=80)?"丙":
> : ((score>=60 && score<=70)?"丁":"戊" ))));
> 判斷式其實不用那麼長
> if( score >= 90 && score <= 100 ) // 90 <= score <= 100
> else if( score >= 80 ) // score < 90 恆成立
> 所以用 ?: 的可以把條件簡化成
> (score >= 90 && score <= 100)?"甲":
> ((score >= 80)?"乙":
> ((score >= 70)?"丙":
> ((score >= 60)?"丁":"戊")));
原先的寫法,更具可讀性,也較直覺。
經 javac 編譯後的 bytecode,
效益上沒有明顯差異!
--
┌─────◆KKCITY◆─────┐ KKBOX◤歌名╱歌手╱歌詞╱專輯◢搜尋
│ bbs.kkcity.com.tw │ ★ http://www.kkbox.com.tw ★
└──《From:211.75.42.221 》──┘ 超過80家唱片公司合法授權 音樂盡情下載
--
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 7 之 9 篇):