`
zhangchengchao
  • 浏览: 16544 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

Java中return的用法

    博客分类:
  • Java
阅读更多
有位学习Java的朋友,问我return到底有什么意义,return只不过返回一个值,除此之外他还有其他存在的意义吗?
当然,我在刚刚学习 Java的时候也有类似的想法,这主要是因为刚开始学习Java语言,通常是以写main方法的内容来熟悉Java的语法和程序语言的基本的思维方式,另 一个原因是刚开始学习程序语言,代码量很小,也很难突出return存在的意义,所以return仅仅是一个Java中不可缺少的概念。写Java的方法 如果不是void那就一定有return,这就像汉字一定要由各种各样的偏旁不受组成一样,只需为什么这样,根本就不需要考虑。当初我刚开始接触Java 的时候,想法就是如此简单。

但是,随着读写代码的量不断增加,特别是参加工作之后,接触到实际业务中运用的程序代码,我发现,return虽然很简单,而且的确是简单到只是返回一个值,但是作用却是超出想象的。甚至在很多情况下,灵活的运用return可以让工作变得很轻松。
下面举几个例子,参考下面的代码:

  1 public class Foo{
  2     private String str;
  3
  4     public int foo(){
  5         return 1+2;  6     }
  7     public int foo(String a){
  8         if(a == null){
  9             throw new NullPointerException();
10         } 
11         int b = 0;
12         try{
13             b = Integer.parseInt(a);
14         }catch(NumberFormatException e){
15             return b;
16         } 
17         return b + 3;
18     }
19     public String addValue(String str){
20         if(str == null){
21               return null;
22         }
23         this.str = str;
24         return str;
25     }
26 }





1.首先来看3-6行代码
这是最简单的应用,刚开始学Java的时候基本上都从这里开始,也是基础中的基础。
其中,第5行的写法多种多样,很多人喜欢类似于如下的写法:
public int foo(){
    int c = 1+2;
    return c;
}
这种写法虽然没有语法错误,但是大多数情况下我无法找到建立变量c的理由,他除了耗费内存与满足某些人的喜好之外我不知道他还有其他别的什么用处,所以我更喜欢return 1+2;的写法。
如果你开始尝试读JDK的代码,你会发现,SUN也比较钟情“return 1+2;”这种coding的方式。


2.另一个应用
当一个方法中宣部了return,那么也就意味着这个方法的执行结束。
看代码的15行你会发现,当被带入的文字串的格式不是数字的时候,那么其后的处理b + a也就没有执行的意义,当知道a为无效值得一瞬间,结束方法的运算可能是效率最高的方法。
当然,结束方法运行的方式有很多,除了return之外,你也可以用Exception处理。
但是当你不想把方法的执行结果抛入Exception,但是又想在中途结束方法,return可能是最好的选择。
这 里特别强调的是,如果15行以后的处理非常冗长,当知道a为无效之后不直接采取return等直接结束方法处理,那么可能唯一的办法就是把一段冗长的处理 添加到一个大的if{....}里面,这不仅降低了代码的可读性,也让本可以很容易看懂的代码变得丑陋,还会加重自己工作负担。


3.我添加了什么?
当你打开Map的API你会发现,添加指定值得方法put(K key, V value)的返回值是被添加的V。
也就是说,return另一种作用就是,当你建立一个向类中添加某种目标的方法,并且想要告诉调用方法的部分添加了什么的时候,可以利用return返回一个被添加了的目标,反之,如果添加失败,返回一个null,调用方法的部分就很容易知道操作失败还是成功。
当然,你也可以return一个布尔型来告诉调用方操作结果,这一点可以参考List中add类的使用方法。
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/java/javajs/200865/122130.html
分享到:
评论

相关推荐

    Java中return的用法(两种)

    主要介绍了Java中return的用法(两种)的相关资料,需要的朋友可以参考下

    java return用法实例详解

    在本篇文章里小编给大家整理的是关于java return用法以及相关知识点总结,需要的朋友们参考下。

    javascript中return,return true,return false三者的用法及区别

    1.语法及返回方式 ①返回控制与函数结果  语法为:return 表达式;  语句结果函数的执行,返回调用函数,而且把表达式的值作为... 在js中return false的作用一般是用来取消默认动作的.比如你单击一个链接除了触发你的”on

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

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

    break,continue,goto,return语句详解

    对break continue goto return语句都有详细讲解! 值得收藏

    关于java中链表的用法

    import Java.io.*; public class List {  /*用变量来实现表头*/  private Node Head=null;  private Node Tail=null;  private Node Pointer=null;  private int Length=0;  public void deleteAll() ...

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

    北京动力节点-Java编程零基础教程-004-编程基础-在Window中显示文件扩展名.mp4 北京动力节点-Java编程零基础教程-005-Java语言概述-Java的诞生.mp4 北京动力节点-Java编程零基础教程-006-Java语言概述-Java的特点...

    Javascript中的return作用及javascript return关键字用法详解

    javascript 中的return一直用的都比较火,关于javascript中的return作用大家了解吗,下面通过本文给大家详细介绍,具体内容如下所示: return 语句从当前函数退出,并从那个函数返回一个值。 语法: return[()...

    BeanUtils用法

    * `describe(java.lang.Object bean)`:这个方法返回一个Object中的所有可读属性,并将属性名/属性值放入一个Map中,另外还有一个名为class的属性,属性值是Object的类名,事实上class是java.lang.Object的一个属性...

    JAVA基础课程讲义

    JAVA.IO包相关流对象用法总结(尚学堂1002班王鑫) 165 IO中其他常用类 165 File类 165 RandomAccessFile 166 思考作业 166 上机作业 166 提高课外作业 166 第九章 多线程技术 167 基本概念 167 程序 167 进程 167 ...

    java面试宝典

    42、一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制? 12 43、说出一些常用的类,包,接口,请各举5 个。 12 44、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类?是否可以...

    Java语言基础学习.pdf

    Java语法基础学习文档。关于Java的数据类型及三种结构:顺序结构、循环结构及条件判断的知识,结合实验代码理解。同时包括了如何return和break等用法。

    JAVA面试题最全集

    9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能存在的错误,并说明原因: 二、JSP&Servlet技术 1.描述JSP和Servlet的区别、共同点、各自应用的范围 2.在Web开发中...

    Java 高级特性.doc

    5.在JAVA的程序中,我经常性的看到字符前面有@这种标志的符号.这个就叫做注解! 下面是使用 @SuppressWarnings 来取消 deprecation 警告的一个例子: public class Test { @Deprecated //在eclipse下运行的时候,...

    Java面试经典题,对JAVA面试很有帮助

    1. Java语言有哪些特点 2.面向对象和面向过程的区别 3.八种基本数据类型的大小,以及他们的封装类 4.标识符的命名规则 5.instanceof 关键字的作用 ...23.try catch finally,try里有return,finally还执行么 ...

    浅谈javascript中return语句

    return语句在js中非常的重要,不仅仅具有返回函数值的功能,还具有一些特殊的用法,有个清晰的把握是非常有必要的。下面就结合实例简单介绍一下return语句的作用。 一.用来返回控制和函数结果: 通常情况,return...

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

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

    疯狂JAVA讲义

    4.4.3 使用return结束方法 87 4.5 数组类型 87 4.5.1 理解数组:数组也是一种类型 88 学生提问:int[]是一种类型吗?怎么使用这种类型呢? 88 4.5.2 定义数组 88 4.5.3 数组的初始化 89 学生提问:能不能只...

    java 面试题 总结

    引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...

    46个java关键字介绍和使用大全含示例(值得珍藏)

    Java关键字是Java编程语言中预定义的保留字,用于表示特定的语言功能或概念。它们在语法上具有特殊的意义,不能用作变量名、类名或其他标识符。掌握Java关键字的作用对于编写正确的Java代码至关重要。这些关键字包括...

Global site tag (gtag.js) - Google Analytics