我的Java PROGRAMM內使用我需要有一個控制結構,該結構應得到3-不同的結果以3個不同的輸入。該控制結構,以與3個可能的輸入(效率)
輸入1:文本1
輸入2:文本2
輸入3:文本3
我的問題這裏是:最佳實踐明智和效率明智的,該控制結構,應使用?我的第一個想法是一個開關案例,但爲什麼我會選擇IF結構或嵌套?運營商 -
我的Java PROGRAMM內使用我需要有一個控制結構,該結構應得到3-不同的結果以3個不同的輸入。該控制結構,以與3個可能的輸入(效率)
輸入1:文本1
輸入2:文本2
輸入3:文本3
我的問題這裏是:最佳實踐明智和效率明智的,該控制結構,應使用?我的第一個想法是一個開關案例,但爲什麼我會選擇IF結構或嵌套?運營商 -
我想你會發現它普遍認爲switch語句在這種情況下輕度首選,純粹的可讀性的基礎上。如果增加了額外的案例,並且即使有三個選項,它也可以更好地擴展,但它仍然更具可讀性,特別是對於一個輸入只有三種變體的情況。性能差異可以忽略不計,但如果你真的想進入這個特定的方面,肯定會有討論。
我建議避免三元運算符(即,內聯如果/「?」)對於任何兩起以上的可讀性類似的原因。就我個人而言,我不會解析它,除非所有表達式都非常簡短,否則我會避免它。
晴題外話,但有趣的是,在絃樂開關未添加到Java直到Java 7中
如果需要的話,你應該爭取良好的可讀性,再求效益。如果有很多選擇,如果使用小開關,使用的if/else
謝謝您的回答!所以?沒有問題? – blacksmth
不理解你的評論:(我個人會使用if/else 3種情況(只是爲了避免照顧'break'的事情) –
也許嵌套三元運算符?開玩笑。我認爲無論使用何種結構,效率都將幾乎相同。我會去爲if/else
,因爲我覺得是更具可讀性比swtich
(的錯誤更少 - 不要忘了breaks
- ),但它只是一個意見。
可能的重複:http://stackoverflow.com/questions/3387758/java-case-statment-or-if-statement-efficiency-perspective – acostache
你是什麼意思重複?在你的鏈接問題中,有一個普遍的問題。我的具體爲3個可能性。 – blacksmth
首先寫了一個相關的,然後我改可能重複 - 因此它只是一個普通有關的一個 - 我的壞 – acostache