java中return的作用

return的常用作用有以下两种一种是返回参数所用的关键字,假如一个有返回值的方法执行完了之后需要返回一个参数,示例:public string functionTest(){         String a = "abc";         return a;}那么这个方法被调用之后就会返回一个值为abc的字符串,string result = functionTest();

第二种用法是,代码执行到此处终止。比如当代码执行到某个地方会出现几种结果,然后其中一种结果就不能执行后续代码,这时候在那里加上一个return就可以终止后面的代码执行。

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

一个类,需要包括数据成员(和/或)方法。

java中,方法全部是以函数的形式出现的。所谓函数,即在程序过程语言中可以作为表达式的一部分使用的方法。

例如,您肯定用过的


1

2

3

4

5

6

7

class Ex1

{

public static void main(...)

{

    System.out.println("Hello World!");

}

}

代码中,println即方法,方法名后紧跟一组括号,括号中放置的是传入函数的参数。

上面的您可能已经知道了,而何谓返回值呢?例如我现在需要一个将两整数相加的函数Add


1

2

3

4

5

6

7

8

9

10

11

12

13

class Ex2

{

//新加的

int Add(int input1, int input 2)

{

    return input1+input2;

}

public static void main(...)

{

    System.out.println("Hello World!");

}

}

如您所见,在代码中我添加了一个return语句。

在本例中,return语句是必要的,原因我接下来会讲到。

下面我们来使用一下这个Add函数。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

class Ex2

{

int Add(int input1, int input 2)

{

    return input1+input2;

}

public static void main(...)

{

    //新加的

    Ex2 adder=new Ex2();//建立一个本类的对象

    int result1,result2;//建立两个整形来储存结果

    //请注意接下来的调用

    result1 = adder.Add(3,5);

    result2 = adder.Add(3,5)+7;

    System.out.println(result1);

    System.out.println(result2);

}

}

如您所见,输出的结果将是 8 和 15。为什么呢?

我们看到,return会将它之后表达式的值返回到调用它的地方。本例中,3+5=8,故return 8后调用Add处被8替换(请先这样理解,实际情况较复杂),然后将8赋值给result1,第二式中,将8返回后,将8+7的结果15赋给result2.

现在来回答您的四个问题。

  1. 起到的作用不言而喻,是连接函数调用中主调函数与被调函数的桥梁。
  2. 返回的是一个符合其定义类型的值。
  3. 将此值返回到调用此函数的地方了。
  4. 如果您声明了一个void型函数,即此函数不返回任何值,那么您当然可以不写return。

    然而如果您声明了其他类型的函数,那么不写此语句显然会带来混乱,必须写而且必须有返回值。

时间: 2024-10-24 21:19:45

java中return的作用的相关文章

深刻理解Java中final的作用(一):从final的作用剖析String被设计成不可变类的深层原因

声明:本博客为原创博客,未经同意,不得转载!小伙伴们假设是在别的地方看到的话,建议还是来csdn上看吧(原文链接为http://blog.csdn.net/bettarwang/article/details/26744661),看代码和提问.讨论都更方便. Java中final的作用主要表如今三方面:修饰变量.修饰方法和修饰类.以下就从这两个方面来解说final的作用.在文末从final及类的设计安全性出发,论述了Java中String为何要被设计成不可变类. 1.final修饰变量 fina

Java中hashCode的作用

转  http://blog.csdn.net/fenglibing/article/details/8905007 Java中hashCode的作用 2013-05-09 13:54 64351人阅读 评论(17) 收藏 举报  分类: JAVA实用笔记(142)  版权声明:本文为博主原创文章,未经博主允许不得转载. 以下是关于HashCode的官方文档定义: [plain] view plain copy hashcode方法返回该对象的哈希码值.支持该方法是为哈希表提供一些优点,例如,j

java中super的作用

super()的作用 super可以用来访问超类的构造方法和被子类所隐藏的方法,如果子类中有方法与超类中的方法名称和参数相同,则超类中的方法就被隐藏起来,也就是说在子类中重载了父类中的方法. 引用父类中所隐藏的语法格式如下: super(参数列表)或super.方法名(参数列表) 下面通过代码展示一下super的用法: package cn.demo; public class Demo1 { public static void main(String[] args) { SubClass_A

经典的java中return和finally问题!

经典的java中return和finally问题! 标签: 杂谈 分类: java学习 前一段时间 参加公司的笔试问了这个问题,回来一查才知道当时自己做错了,百思不得其解,上网查到下面的程序,但是运行后发现了错误,我修改后放在了我的blog 上面,希望和大家分享. 代码如下: public class Test { public static void main(String[] args) { System.out.print(tt()); } public static int tt() {

JS.【转】JS事件处理函数中return的作用

1.js事件处理函数中return的作用 - AnswerCard - 博客园.html(https://www.cnblogs.com/answercard/p/5255230.html) 2.网页内容保存: 这里面的return含有一些细节知识: 例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别 JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置

java中return与finally的执行顺序

网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过我试验,至少有两种情况下finally语句是不会被执行的: (1)try语句没有被执行到,如在try语句之前就返回了,这样finally语句就不会执行,这也说明了finally语句被执行的必要而非充分条件是:相应的try语句一定被执行到. (2)在try块中有System.exit(0);这样的语句,System.exit(0);

java中 return 的使用场景

情景一.Return 在if判断结构或者其他程序结构,例如for.switch中使用.用于阻止程序往下面执行. package lesson15; import java.util.Scanner; public class Test4 { /** * @param args */ public static void main(String[] args) { // 情景一.Return 在if判断结构或者其他程序结构,例如for.switch中使用.用于阻止程序往下面执行. int age=

java中return语句的用法总结

return算是各大语言的常客,基本上都有return语句,那么在JAVA中,return有什么特殊的地方吗,下面我们来分析下 1.return语句的作用:a.返回一个值,这个值可以是任意类型.b.使程序返回到操作系统(即终止程序) 2.java中对于一个函数,不论有没有返回值类型,都可以带有return 语句. 但是区别在于,return 语句是否可以返回一个值(这取决与该函数的返回值类型). a.如果函数有返回值类型(即返回值类型不为void ),则必须带有返回相应类型值的return 语句

java中标签的作用

在java中,标签起作用 的唯一的地方刚好是在迭代语句之前. "刚好之前"的意思表明,在标签和迭代之间置入任何语句都不好. 而在迭代之前设置标签的唯一理由是:我们希望在其中嵌套另一个迭代或者一个开关,这是由于break和continue关键词通常只能中断当前循环,但是若随同标签一起使用,他们就会中断循环,直到标签所在的地方 label1: outer-iteraction{ inner-itercation{ break;//1 continue;//2 continue label1