return 在Java中作用

轉自:http://blog.csdn.net/wikiday/article/details/9336515

return 在Java中作用

        根據《Java編程思想:第四版》4.5節中介紹:return語句作爲一個無條件的分支,無需判斷條件即可發生。return語句主要有兩個用途:一方面用來表示一個方法返回的值(假定沒有void返回值),另一方面是指它導致該方法退出,並返回那個值。根據方法的定義,每一個方法都有返回類型,該類型可以是基本類型,也可以是對象類型,同時每個方法都必須有個結束標誌,因此,return起到了這個作用。在返回類型爲void的方法裏面,有個隱含的return語句,因此,在void方法裏面可以省略不寫。


return語句和其他控制結束語句的區別

        Java中結束語句主要有四類:return,break,continue以及goto。但是goto不常用,所有此文不對此討論。

        (1)return語句:是指結束該方法,繼續執行方法後的語句。

        (2)break語句:是指在循環中直接退出循環語句(for,while,do-while,foreach),break之後的循環體裏面的語句也執行。

        (3)continue語句:是指在循環中中斷該次循環語句(for,while,do-while,foreach),本次循環體中的continue之後語句不執行,直接跳到下次循環。


return在try-catch-finally語句中的使用

        若在 try或catch語句裏面有return語句,finally語句和return語句的執行順序問題:

若有finally語句,則無論如何,都會執行該語句,在try或catch中的return語句會將它的返回值壓入棧內,然後執行finally語句,當finally執行完成後,若finally語句裏有return語句,則執行return語句並結束。若finally沒有return語句,則返回被保存的棧裏的return語句,再執行。然而,在壓棧時候,要注意壓入棧內的是什麼東西,是值本身還是引用,若是引用則引用的值會改變,若是變量值,則不會改變。

下面是一位大牛分析的,很給力,大家一定要仔細看下:finally小特性


       return語句在try-catch-finally中使用情形:

      (1)若try執行成功後返回,在try和catch裏面都執行return語句,這樣情況與4相同,但該方法更佳,因爲,可以立刻查看出異常的拋出情況。

      (2)若只需要在try和catch都執行後還需繼續執行相關語句,則在try-catch所有語句後執行return語句;

      (3)若catch執行後返回,則在catch和所有語句後執行return語句;

      (4)若try執行成功後返回,則在try和全部語句後使用return語句;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章