我的人生路 |
|
|||
日歷
統計
導航常用鏈接留言簿(5)隨筆分類隨筆檔案文章分類文章檔案相冊顏色
搜索最新評論
閱讀排行榜評論排行榜 |
Java 語言中的 return 語句
眾所周知,return 只能用在有返回類型的函數中,但是有返回值的函數一定要有return嗎?return都可以用在函數的哪些地方呢?這是本文需要討論的問題。 -------------------------------------------------------------------------------- 例一: class test { public String test() { if(true){ return ""; } else{ return ""; } } } 上面這樣即可通過編譯,但是下面這兩個例子卻不能通過編譯: (一) class test { public String test() { if(true){ return ""; } } } (二) class test { public String test() { if(isTrue()){ return ""; } else if(!isTrue()){//兩個if里的判斷包括了所有的可能性,但是還是編譯期error return ""; } } boolean isTrue(){ return true; } } 結論1: 對于(一),這是因為java編譯器認定單獨的if語句只在當一定條件滿足情況下才執行,它認為if不會有任何情況下都能執行的能力。 對于(二),這是因為java編譯器對if else 語句能夠全面囊括所有情況的能力只限定在的if...else(或if...else if...else)時,而不包括if...else if。 -------------------------------------------------------------------------------- 再看例二: class test { public String test() { while(true){ return ""; } } } 上面這樣即可通過編譯,但是下面這樣不行: class test { public String test() { while(isTrue()){ return ""; } } boolean isTrue(){ return true; } } 結論2: 這是因為編譯器認為while語句有在任何情況下都能執行的能力,但是只在入參為true的情況下有該能力。 -------------------------------------------------------------------------------- 再看例三: public class test { String test() throws Exception{ throw new Exception();//拋出異常后,跳出程序,程序中止 } } 結論3: 如果函數中創建了異常,并拋出,則該函數可以不返回值
歡迎大家訪問我的個人網站 萌萌的IT人
|
![]() |
|
Copyright © 一天一點愛戀 | Powered by: 博客園 模板提供:滬江博客 |