`
zhangchengchao
  • 浏览: 16907 次
  • 性别: 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用法的各种实例,包括在有返回值的方法中使用return语句、在void方法中使用return语句、return语句与break语句的区别、return语句在数组返回类型中的应用、return语句在基本返回类型中的...

    Java enum的用法详解

    Java enum 的用法详解 Java enum(枚举)是一种特殊的数据类型,用于定义一组固定的常量。从 JDK 1.5 开始,Java 引入了 enum 机制,解决了传统的常量定义方式的不足。 用法一:常量 在 JDK 1.5 之前,我们定义...

    java枚举类用法

    通过上述介绍,我们了解到Java枚举类的多种用法,包括声明、初始化、方法定义、构造器、转换为集合、遍历、比较、在switch语句中的应用以及序列化等。枚举类不仅提高了代码的可读性和安全性,还简化了常量管理,使得...

    Java的throw和return

    在Java编程语言中,`throw`和`return`是两个非常重要的关键字,它们分别用于处理异常和返回方法的结果。本文将详细介绍这两个关键字的用法、特点以及它们与`finally`块之间的关系。 #### throw关键字 `throw`...

    Java泛型的用法及T.class的获取过程解析

    Java泛型的用法及T.class的获取过程解析 Java泛型是Java编程语言中的一种重要特性,它允许开发者在编写代码时指定类型参数,从而提高代码的灵活性和可读性。本文将详细介绍Java泛型的用法 及T.class的获取过程解析...

    JAVA 中Spring的@Async用法总结

    JAVA 中Spring的@Async用法总结 在 Java 应用中,绝大多数情况下都是通过同步的方式来实现交互处理的,但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况。之前大部分都是使用多线程来完成此类任务,但是...

    java_clone用法

    ### Java中的`clone`方法详解:浅拷贝与深拷贝 #### 一、引言 在Java中,`clone`方法提供了一种快速复制对象的方式。它属于`Object`类的一部分,但需要显式地在子类中声明并实现`Cloneable`接口才能正常使用。本文...

    java中break用法.docx

    ### Java中的break用法 #### 一、引言 在Java编程中,`break`、`continue` 和 `return` 是三种重要的流程控制语句,它们可以帮助开发者更灵活地控制程序的执行流程。本文将重点介绍`break`语句的作用及其应用场景...

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

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

    java同步synchronized关键字用法示例

    Java中的`synchronized`关键字是多线程编程中的一个重要概念,用于控制并发访问共享资源时的同步机制。在Java中,当多个线程试图同时访问和修改同一块代码或数据时,可能会导致数据不一致的问题。为了解决这个问题,...

    Java关键字的用法

    ### Java关键字的用法 Java作为一种广泛使用的编程语言,拥有丰富的关键字来支持其核心功能与特性。本文将详细介绍部分重要的Java关键字及其用法。 #### 1. `abstract` `abstract`关键字用于定义抽象类或抽象方法...

    RETURN的用法43434

    在Java中,只有声明了返回类型的函数才能使用`return`,但这并不意味着每个有返回类型的函数都必须包含一个`return`语句。在某些特定情况下,即使没有显式的`return`语句,函数也能通过其他方式完成其任务。 例一...

    java中enum枚举的详细用法

    Java中的枚举(enum)类型是在JDK 1.5版本引入的一个强大的特性,它用于定义一组相关的常量。在C/C++等语言中,枚举通常用来表示一组具有固定值的常量集合,但在Java中,枚举不仅限于此,它提供了更多的功能和灵活性...

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

    在Java编程语言中,`return`语句是一个关键的控制流元素,用于从方法或构造器中退出。它有两种主要用途:一是返回一个值给调用者,二是提前结束方法的执行。以下是对这两个方面以及Java中`return`语句特性的详细探讨...

    JAVA多种途经用法

    在Java中,有多种途经和用法来实现各种功能,这些包括但不限于访问控制、类与对象的创建、流程控制以及异常处理等。 访问控制是Java中重要的概念,用于决定代码的可见性和可访问性。`private`修饰符限制了变量、...

    Java中static、this、super、final用法

    ### Java中static、this、super、final用法详解 #### 一、static关键字的使用 在Java编程语言中,`static`是一个非常重要的关键字,它主要用于定义类成员(包括变量和方法),使得这些成员能够在不创建类实例的...

    Java返回语句return-Java教程共1页.pdf

    Java语言中的返回语句`return`是编程过程中不可或缺的一部分,特别是在方法定义中。它用于从方法中退出,并可选择性地返回一个值给调用者。深入理解`return`语句对于任何Java开发者来说都是至关重要的,无论是初学者...

    ext js配合dwr在java中的用法

    总结起来,`Ext JS 配合 DWR 在 Java 中的用法`涉及到以下几个关键知识点: 1. Ext JS 的组件化和交互特性,以及如何构建富互联网应用程序。 2. DWR 的核心概念:Engine、Callee 和 Caller,以及它们在JavaScript和...

Global site tag (gtag.js) - Google Analytics