歡迎您光臨本站 註冊首頁

Java編程語言中的return語句介紹

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

眾所周知,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:

如果函數中創建了異常,並拋出,則該函數可以不返回值.


[火星人 ] Java編程語言中的return語句介紹已經有307次圍觀

http://coctec.com/docs/java/show-post-59847.html