• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Java 语言中的 return 语句

servlet/jsp 搞代码 7年前 (2018-06-18) 129次浏览 已收录 0个评论

众所周知,return 只能用在有返回类型的函数中,但是有返回值的函数一定要有return吗?return都可以用在函数的哪些地方呢?这是本文需要讨论的问题。

——————————————————————————–

http://www.gaodaima.com/40229.htmljava 语言中的 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:
    如果函数中创建了异常,并抛出,则该函数可以不返回值。

——————————————————————————–

知道了以上的情况,你就可以熟练自如得运用return了。

欢迎大家阅读《Java 语言中的 return 语句》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Java 语言中的 return 语句

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址