熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Java編程中的return介紹

2022-06-13   來源: Java核心技術 

  眾所周知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;
   
    }
   
    }
   
    結論:
   
    對於(一)這是因為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;
   
    }
   
    }
   
    結論:
   
    這是因為編譯器認為while語句有在任何情況下都能執行的能力但是只在入參為true的情況下有該能力
   
    再看例三
   
    public class test {
   
    String test() throws Exception{
   
    throw new Exception()//拋出異常後跳出程序程序中止
   
    }
   
    }
   
    結論:
   
    如果函數中創建了異常並拋出則該函數可以不返回值


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26888.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.