众所周知,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 if return 语句_Java 语言中的 return 语句相关推荐

  1. java的匿名函数_JAVA语言中的匿名函数详解

    本文主要向大家介绍了JAVA语言中的匿名函数详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.使用匿名内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: ...

  2. java的char泛型_Java语言中的泛型

    一.泛型的概念及作用 1.泛型的概念 Java中的泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数. 这种参数类型可以用在类.接口和方法的创建中, ...

  3. java里程序控制流程_Java语言中的程序流程控制

    (1. 流程控制 有三种基本技术可以改变程序的控制流程: A.调用方法 :将导致控制流程离开当前方法,转移到被调用的方法. B.选择  :   a. if / else 语句 b. switch语句 ...

  4. java猜字母讲解_JAVA语言中的经典案例:猜字母游戏

    设计数据结构 问题 猜字母游戏规则为,随机产生5个按照一定顺序排列的字符作为猜测的结果,由玩家来猜测此字符串,玩家可以猜测多次,每猜测一次,由系统提示结果,如果猜测的完全正确则游戏结束,计算玩家的游戏 ...

  5. c语言解析sql语句_C语言中嵌入式SQL语句

    实验内容: 掌握SQL Server 2000的预编译程序NSQLPREP.EXE的使用(以课本例题1进行调试): 实验步骤: 一.数据库环境配置 1.创建xuesheng数据库,建立student表 ...

  6. 【C语言进阶深度学习记录】七 C语言中的循环语句

    文章目录 1 循环语句分析 1.1 do...while循环 1.2 while循环 1.3 for循环 1.4 三种循环语句使用对比 2 break和continue的区别 3 总结 1 循环语句分 ...

  7. return在c语言的意思,return在c语言中是什么意思?_后端开发

    go语言通过命令方式生成可执行文件_后端开发 在我们编写好项目后一般都需要将其编译为可执行文件,本文就来为大家介绍一下go语言通过命令方式生成可执行文件的方法. return在c语言中是什么意思? r ...

  8. sql脚本语言中的循环语句介绍

    sql脚本语言中的循环语句介绍 –sql脚本语言的循环介绍: –1.goto循环点. declare x number; begin x:=0;–变量初始化: <<repeat_loop& ...

  9. c语言sql语句大全,在C语言中嵌入SQL语句.doc

    在C语言中嵌入SQL语句.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...

最新文章

  1. 详细设计 英文_人体工程学设计:COMMA感应式无线充电器深度拆解
  2. syslog(),closelog()与openlog()--日志操作函数
  3. 方欣科技算法题面试:蛇形矩阵
  4. 使用SAP OData offline库实现Android应用的离线(offline)模式
  5. C#多线程和异步(二)——Task和async/await详解(转载)
  6. SQL调优(SQL TUNING)之远程支持完成性能大幅优化
  7. php mysql delimiter,MySql delimiter的作用是什么_MySQL
  8. urllib库(三)parse模块:quote()/quote_plus(),unquote()/unquote_plus(),quote_from_bytes()
  9. 74hc595级联c语言程序,stm32使用三片74HC595级联程序代码
  10. 学妹面试拼刀刀被问Java策略模式是什么鬼?哈哈哈哈
  11. Redis 缓存穿透、缓存雪崩、热点Key问题分析和解决方案
  12. 月入万元的自由程序员 (转电脑报)
  13. Mysql通过binlog恢复误删数据
  14. Bootstrap --》Bootstrap的安装与使用
  15. 【若依】开源框架学习笔记 07 - 登录认证流程(Spring Security 源码)
  16. [wayfarer]PetShop之业务逻辑层设计
  17. fing网络扫描仪android,Fing网络扫描仪
  18. 消除冗长Java代码的工具——Lombok详解
  19. 看,那些在台风中挣扎的记者们
  20. 电改背景下,售电公司如何利用需求侧响应模式

热门文章

  1. 七种训练能提升宝宝的智力,家长们不可忽视!
  2. sql中union用法
  3. CORDEX(Coordinated Regional Climate Downscaling Experiment )——协调降尺度实验
  4. B. Game with Telephone Numbers Educational Codeforces Round 63 (Rated for Div. 2)
  5. vue 集成 sweetalert2 提示组件
  6. 累计吞吐量——用集成显卡+独立显卡助力全速AI推理
  7. 富士康的造车梦,告别“代工厂”的最后机会
  8. php 接口 防跨站,简单的 php 防注入、防跨站 函数
  9. 使用go语言编译部署最新版Yearning【v3.0.1】
  10. 网络空间安全有哪些定义?我国网络空间安全面临哪些机遇?我国网络空间安全面临哪些挑战?