众所周知,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算是各大语言的常客,基本上都有return语句,那么在JAVA中,return有什么特殊的地方吗,下面我们来分析下
Java语言finally语句详解,finally到底是在return之前还是之后执行.zip
主要介绍了Java中break、continue、return语句的使用区别对比,本文用非常清爽简明的语言总结了这三个关键字的使用技巧,并用一个实例对比使用结果,需要的朋友可以参考下
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 ...
B、变量在定义时可以没有初始值 C、变量一旦被定义,在程序中的任何位置都可以被访问 D、在程序中,可以将一个btye类型的值赋给一个int类型的变量,不需要特殊声明 java语言与面向对象程序设计形考1-0001全文共12页...
北京动力节点-Java编程零基础教程-005-Java语言概述-Java的诞生.mp4 北京动力节点-Java编程零基础教程-006-Java语言概述-Java的特点-面向对象.mp4 北京动力节点-Java编程零基础教程-007-Java语言概述-Java的特点-...
4.1 类的方法 4.1.1 方法的定义 [修饰符] 返回值类型 方法名(类型 参数名1, 类型 参数名2, ……) { // 这对大括号内是方法体 一些变量声明语句 一些执行语句 return 表达式; } 第4章-Java面向对象程序设计-Java语言...
在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向...
可分别通过词法、语法、语义分析输出<...能够翻译break、continue、return语句。可以检查赋值精度错误、函数参数类型不匹配错误、静态数组元素下标越界错误、break错误、continue错误、函数参数不匹配错误等
return语句的例子.docx Scanner和if语法.docx static.docx 毕向东视频的笔记.docx 参数传递.docx 第二周所学总结.docx 反射机制.docx 泛型.docx 封装和继承以及多态部分.docx 接口和抽象类以及实现类.docx 枚举enum....
19在Java语言的控制结构中,break语句是经常用到的语句。下面一段代码中break语句起到( )的作用。 (选择一项) int pointer=0; while(pointer){ switch(pointer%3){ case 1: pointer+=1; break; case 2: ...
方法(2)-有返回值的方法定义 方法—有返回值方法...图a中的代码没有逻辑错误,但编译不能通过,因为java编译器认为可能没有return语句。 注意 public static int sign(int n) { if (n > 0) return 1; else if (n ==
本书将向读者展示用Java语言和它的类库创建2D游戏,所涉及的主题包括高速性能、双缓冲图像、动画、声音、媒体控制、I/O和网络支持等。将带领大家一步一步学习编写Java游戏,最终打造属于自己的Java游戏。 目录...
对Java语言的每个语法都提供了一个或多个例程讲解 大量使用流程图表示程序的执行过程,使用结构图表示程序的内部状态 每章最后都给出了典型的练习题,让读者及时练习,巩固提高,并提供了参考答案 目录 第1篇 ...
对Java语言的每个语法都提供了一个或多个例程讲解 大量使用流程图表示程序的执行过程,使用结构图表示程序的内部状态 每章最后都给出了典型的练习题,让读者及时练习,巩固提高,并提供了参考答案 目录 第1篇 ...
38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 27 39、下面的程序代码输出的结果是多少? 28 40、final, finally, finalize的区别。 30 ...
] 得分: [5] 试题分值: 5.0 提示: return语句____ 可以让方法返回数值 方法都必须包含 方法中不可以有多个return语句 不能用来返回对象 知识点: 第三单元过关自测 学生答案: [A;] 得分: [5] 试题分值: 5.0 提示: ...
3、下列选项中,( )不属于Java语言的简单数据类型。 A.整数型 B.数组 C.字符型 D.浮点型 4、对于int a[ ]=new int[3],下列叙述错误的是( )。 A. a.length的值是3 B. a[1]的值是1 C. a[0]的值是0 D. a[a.length...
java语言是先编译后解释,java源码是通过编译生成一种特殊的.class的中间字节码文件,然后再由JVM进行解释运行。 (编译) (解释) .java ----> .class ---> 可执行文件 所以效率低,是C++的20倍 5、java源...
JAVA语言应用范围 18 第一个JAVA程序 18 JAVA开发环境搭建 18 一个典型的JAVA程序的编写和运行过程 19 第一个程序常见错误 20 第一个JAVA程序的总结和提升 20 常用Java开发工具 20 常用dos命令 21 本章笔试作业 21 ...