`
feohoo
  • 浏览: 110472 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

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:
    如果函数中创建了异常,并抛出,则该函数可以不返回值。



--------------------------------------------------------------------------------


知道了以上的情况,你就可以熟练自如得运用return了。
分享到:
评论

相关推荐

    JAVA心得分享---return语句的用法

    return算是各大语言的常客,基本上都有return语句,那么在JAVA中,return有什么特殊的地方吗,下面我们来分析下

    Java语言finally语句详解,finally到底是在return之前还是之后执行.zip

    Java语言finally语句详解,finally到底是在return之前还是之后执行.zip

    Java中break、continue、return语句的使用区别对比

    主要介绍了Java中break、continue、return语句的使用区别对比,本文用非常清爽简明的语言总结了这三个关键字的使用技巧,并用一个实例对比使用结果,需要的朋友可以参考下

    Java语言编码规范

    Java语言编码规范 1 介绍(INTRODUCTION) 3 1.1 为什么要有编码规范(WHY HAVE CODE CONVENTIONS) 3 1.2 版权声明(ACKNOWLEDGMENTS) 3 2 文件名(FILE NAMES) 4 2.1 文件后缀(FILE SUFFIXES) 4 2.2 常用文件名(COMMON ...

    2021Java零基础自学笔记资源(九)

    控制语句是Java语言中的一种基本结构,用于控制程序的执行流程。常见的控制语句包括if语句、switch语句、循环语句等。在本节中,我们将介绍循环语句的概念和使用方法。 循环语句是指在程序中重复执行某些语句的语句...

    java语言与面向对象程序设计形考1-0001.docx

    B、变量在定义时可以没有初始值 C、变量一旦被定义,在程序中的任何位置都可以被访问 D、在程序中,可以将一个btye类型的值赋给一个int类型的变量,不需要特殊声明 java语言与面向对象程序设计形考1-0001全文共12页...

    java课后习题答案.docx

    3. Java 语言的控制流程:Java 语言中有多种控制流程,例如 if 语句、switch 语句、while 循环、for 循环等。在 Java 语言中,我们可以使用控制流程来控制程序的执行顺序,例如 for(char a = 'А';aя';a++) { ...

    125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt

    北京动力节点-Java编程零基础教程-005-Java语言概述-Java的诞生.mp4 北京动力节点-Java编程零基础教程-006-Java语言概述-Java的特点-面向对象.mp4 北京动力节点-Java编程零基础教程-007-Java语言概述-Java的特点-...

    第4章-Java面向对象程序设计-Java语言GUI程序设计-赵满来-清华大学出版社.pptx

    4.1 类的方法 4.1.1 方法的定义 [修饰符] 返回值类型 方法名(类型 参数名1, 类型 参数名2, ……) { // 这对大括号内是方法体 一些变量声明语句 一些执行语句 return 表达式; } 第4章-Java面向对象程序设计-Java语言...

    《Java基础入门》-课后习题.doc

    * 跳转语句:break语句、continue语句、return语句 七、Java面向对象编程 * 类和对象的概念 * 构造方法和成员变量 * 方法重载和方法重写 八、Java编程练习 * 编写HelloWorld程序 * 实现基本算术运算 * 实现条件...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向...

    minic_单词种别_hardlykv5_return_c词法结果输出_MiniC语言编译系统java实现_

    可分别通过词法、语法、语义分析输出<...能够翻译break、continue、return语句。可以检查赋值精度错误、函数参数类型不匹配错误、静态数组元素下标越界错误、break错误、continue错误、函数参数不匹配错误等

    java语言程序设计 java编程笔记 由浅入深的笔记 共32份 全套资源.rar

    return语句的例子.docx Scanner和if语法.docx static.docx 毕向东视频的笔记.docx 参数传递.docx 第二周所学总结.docx 反射机制.docx 泛型.docx 封装和继承以及多态部分.docx 接口和抽象类以及实现类.docx 枚举enum....

    Java实用课件第3章运算符、表达式与语句.ppt

    本章主要讲解了 Java 语言中的运算符、表达式和语句,包括算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、条件运算符和 instanceof 运算符等,以及语句的概述、分支语句、循环语句和跳转语句等。...

    java综合试题

    3. try 语句中的 return 语句不会阻止 finally 语句块的执行,finally 语句块将在 return 语句之前执行。 4. Java 中的关键字有 50 多个,包括 true、false、null、abstract、assert、break 等。 5. char 型变量可以...

    JAVA阶段模拟试题

    19在Java语言的控制结构中,break语句是经常用到的语句。下面一段代码中break语句起到( )的作用。 (选择一项) int pointer=0; while(pointer){ switch(pointer%3){ case 1: pointer+=1; break; case 2: ...

    hibernate执行原生sql语句

    然而,在一些情况下,我们需要直接执行原生 SQL 语句,而不是使用 Hibernate 的查询语言(HQL)。本文将介绍如何使用 Hibernate 执行原生 SQL 语句。 为什么需要执行原生 SQL 语句 在实际开发中,我们可能需要执行...

    java程序

    在java程序中,我们可以看到一些基本概念,如变量、数据类型、运算符、控制流语句、函数等。变量是存储数据的容器,数据类型则是变量所存储的数据类型的类型。运算符用于对变量和值进行操作,控制流语句用于控制程序...

    Java实现SqlServer及MySql的备份与还原

    JDBC 是 Java 语言中用来连接数据库的标准 API。通过 JDBC,可以连接各种类型的数据库,包括 SqlServer、MySql 等。在本文中,我们将使用 Microsoft 的 SqlServer JDBC 驱动程序来连接 SqlServer 数据库。 在 ...

    JAVA程序设计》模拟题带答案(A卷).doc

    7. Java 语言中的数组元素下标总是从 0 开始,下标可以是整数或整型表达式。( 对 ) 这道题目考察了Java中的数组机制。Java中的数组元素下标总是从0开始,可以使用整数或整型表达式作为下标。 8. Applet 是一种...

Global site tag (gtag.js) - Google Analytics