java中关于return和void

我知道return是有返回值,void没有。这两个有什么区别?什么情况下使用return,什么情况下使用void?

0

6个回答

如果你调用这个方法的目的是为了求出一个值,得出一个结果。
你就得加对应返回类型,这就需要return。
如果你的方法为了赋值或者其他不要结果的运算,就可以用void。

0
qq_38135036
qq_38135036 明白了
2 年多之前 回复
yangymy
yangymy 回复qq_38135036: 打个比喻,假如说你要去超市买东西,但是你没钱,所以你要先赚钱,这里你的需求是钱。所以你先去赚钱,我们把赚钱的所有步骤都整合起来,这就是一个方法,最终赚了多少钱,你需要一个返回这个钱数用来买东西。其实就是需求的问题,你需要的话就返回,不需要就无所谓了。这个在项目中挺明显的。
2 年多之前 回复
yangymy
yangymy 回复qq_38135036: 需要哪个就返回哪个,如果都需要,可以放入集合
2 年多之前 回复
qq_38135036
qq_38135036 如果一个方法中有多个值,那要返回哪个值?
2 年多之前 回复

根据所写方法的功能需要:
void是无返回值的意思。
比方说 public void walk()
{
System.out.print("你好!");
}
如果别的地方调用这个方法 就会打印出 你好!
再看这里:
public String walk() //注意这里的返回类型是String不是void了
{
System.out.print("你好!");
return "哈喽"; //注意这里这个return 如果不写就会报错!
}
原因就是因为上面 的返回类型必须是String型
如果写的是void意思就是不需要返回类型。所以就没必要写return 了
如果方法上面写了某种返回类型 就必须写return后面跟 相应的类型值

0
yangymy
yangymy 回复qq_38135036: 我觉得void不能替代return,不然你的方法就只能自己玩,不能跟别人玩了。
2 年多之前 回复
qq_38135036
qq_38135036 这些我明白...那么这样是不是说明用void写的方法可以完全替代return的方法或者用return方法完全替代void?
2 年多之前 回复

这个是根据你的需要,你写的函数执行完任务需要有返回值的就
public 返回数据类型 函数名(){
return 返回数据};

你写的函数执行完任务不需要有返回值的就
public void 函数名(){};

0
dhcao1112
TuringK 回复qq_38135036: 执行到return就返回,并结束方法。就算有很多个return。只要执行到其中一个,方法就结束。所以,返回哪个值,看的是执行到哪个return
2 年多之前 回复
qq_38135036
qq_38135036 返回值有什么用?如果一个方法里有多个值,那要返回哪个值?
2 年多之前 回复

当你调用方法需要返回值的时候,就用return返回值,不需要返回值的时候,就void。那么返回值是干嘛的呢?举例:
1.//该方法返回一个整数,是参数a和b的和
public int sum(int a,int b){
int s = a+b;
return s;
}
2.//该方法无返回值,调用它会输出一句话。
public void pri(){
System.out.println("中华人民共和国")
}
什么时候需要返回值,什么时候不需要,关键看使用者,用这个方法来干什么。例1用来求和,那么就需要传入两个整数,返回他们的和。例2仅仅用来
打印一行字符串,那么就不需要返回值,直接调用就可以了。

0

这个返回值是你执行完一个方法后要返回的结果:-->当你需要返回值的时候就return返回值,方法结束后需要什么样的返回结果就直接返回就可以了,可以是运算的结果,要创建的对象等等,当你的方法设计的比较简单的时候例如就是输出一句乃至多话的时候就没必要返回值就是一个void,总结一句话要不要返回值是看你设计的方法结束后想得到啥样的结果的。

0

你这个问题很容易解决,只需要函数头即可知道什么时候用return,什么时候不用return。
一个函数的结构如下:
public/private 返回值类型 函数名(参数列表)
{
方法体;
}
当返回值类型为void的时候代表无返回值(或者可以理解为返回值类型为空,这是没有return)
当返回值类型为其他的数据类型时,如int,double等,就需要返回相应的数据类型,此时就需要用return返回该函数需要返回的数据类型。
(注:你这个问题应该是高级程序语言讲函数的时候会讲到的内容)

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于return和void的问题?
我是java初学者:rnreturn关键字的用法:1.已经做完,离开此方法;2.如果此方法产生一个值,这个值放在return后面rn如果不想返回值,就指示方法返回void(空),此时return的作用只是退出此方法,但是书上(Thinking in java)说,没有必要到方法借宿是才离开,可在任何地方返回。这个“任何地方”很不理解,是在方法体的“任何地方”吗?还是在调用它时的“哪个地方”?rn我想的是在方法体的任何地方:void A()System.out.println();return;System.out.println();如果把这个方法放在一个类中在编译时不成功,会出现后面return后面的那句话无法访问的访问的错误,那么说明我所理解的“任何地方”是错误的?那这个“任何地方”到底是个什么地方?rn//本例主要是要求理解方法中的returnrnclass He3//解决这个类,将以三种不同方法顺序有条件执行过程rnint A()return 2;rnfloat B()return 3.14f;rnvoid C()return;rnboolean D()return true;rn public static void main(String[] args)rn//He3 h=rn//void h=rn//He3 h1=null;rnnew He3().C();rnSystem.out.println(new He3().A());rnSystem.out.println(new He3().B());rn//System.out.println(new He3.C());//这里为什么没有了rnSystem.out.println(new He3().D());rnrnrn//System.out.println(new He3.C());//这里为什么没有了rn就是这句话在编译时不成功,会出现此处不允许使用“void”类型。原因是什么? rn
//关于 return 一个 void 的问题?
//下边的代码通过 Solaris 6的 gcc version 2.95.3 20010315 (release) 编译没有报错。rn//但是 Win2K 的 VC++6 就报错,为什么 B::vf()返回一个void还会报错?rn//但是我发现上边的 gcc 对全局函数的处理是和 VC6 类似报错的,但对类中的就不报错,可以正常运行。rn//为什么?rnrn//#include "stdafx.h"//此行仅于VC++6中rnrn#include rnrnusing namespace std;rnrnclass Brnpublic:rn virtual void f() =0;rn;rnrnclass D:public Brnpublic:rn void f() return vf(); rn void vf() cout<<"D::vf()"<f();rnrnrn//VC6中的报错信息rn//--------------------Configuration: t01 - Win32 Debug--------------------rn//Compiling...rn//t01.cpprn//D:\_MyVC\__TEST\_MyTests\t01\t01.cpp(17) : error C2562: 'f' : 'void' function returning a valuern// D:\_MyVC\__TEST\_MyTests\t01\t01.cpp(17) : see declaration of 'f'rn//Error executing cl.exe.rn//rn//t01.exe - 1 error(s), 0 warning(s)
Java中void、return、返回值的详解
1
java中void方法return的用法
用来终止运行方法。
在void方法中使用return
void类型翻译成汉语意思就是 空 类型。  一般声明变量时不用void类型声明,函数常用void类型声明。  函数用void类型声明代表不需要返回值。  但是,有时候需要在函数内部强行终止函数继续运行下面的语句。这时用return语句。格式是:  return;  如果用什么int,float,double之类的声明函数体,就需要返回值。这时的格式是:  return 值;  例如:  retu
【】void函数中return的含义
为什么看有些代码,发现在每个【void型】的函数的【最后】都加上return,有点不理解这是为什么?rn例如:rn[code=C/C++]rnvoid MyFunc()rnrn...rn...rn... // 函数倒数第二行!rnreturn; // 函数的最后一行!rnrn[/code]rn假设函数运行正常,走到return处也不就正常结束了?rnrn然后我又很无知的想了一会,如果对于用户自定义的void型的消息映射函数,如果也在函数的最后一行加return有意义吗?rn例如:rn[code=C/C++]rn// 申明处rnafx_msg void OnMyFun(UINT wParam, Long lParam);rnrn// 映射rnBEGIN_MESSAGE_MAP(CMyView,CView) rn……rnON_MESSAGE(WM_MY_FUN, OnMyFun)rn…… rnEND_MESSAGE_MAP()rnrn// 函数体rnvoid OnMyFun(UINT wParam, Long lParam)rnrn...rn...rn... // 函数倒数第二行!rnreturn; // 函数的最后一行!rnrn[/code]rn此时的return 和我说的之前的return有什么不同的意义吗?rn【我的疑问就是】:rnreturn都是写在函数的结尾处,而且没有什么出错处理的过程,只是单纯的(也许在我看来是吧)在函数最后一行处写了return,没什么意义吧?rn大家帮我分析好吗?rn谢谢!!!!!!!!!!!!!!!rnrn
关于java中的return
在java中的return有两个的作用: 1.可以将一个程序的结果返回给调用者 2.可以将这个程序在这里终止.不再继续向下执行代码.
编程风格 void 的 return;
rn我记得某个编程风格的书中提到,rn即使是void型函数,函数结尾也要写一个return;rnrn请问这样做的目的和好处是什么,我忘记了,请大家指教?rnrn谢谢!
【漫谈】 Java 中的 Void 和 void
Java 中,大家对 void 应该是相当熟悉了。它表示“空”,所有无返回值的方法都使用它表示返回类型。 public static void main(String[] args) { // ... } void 是一种基本数据类型。 而 Void 是 void 封装类型,API 上称其为“占位符(placeholder)”。 看起来,Void 之于 void 类似于 Integer 之于 ...
在void函数中return另外一个void函数调用
在使用一些宏替换时发现了这个,有些惊讶。rn例如:rnrnvoid func1(int a, char *b)rnrnrnrnvoid func2(int a)rnrn return func1(a, "");rnrnrnint main()rnrn func2(5);rnrnrn这里func1和func2都是void函数,但是return func1()这样是可以的。rn谁知道这个是C规范中的,还是属于特定编译器的?rn
void型函数中return语句的作用
返回类型是void 空型 这里面如果return语句返回一个值的话会报错,如果就只是一个return;表示程序结束不继续往下执行。
void 方法中的return语句,跳出的范围
void 方法中的return语句,跳出的范围是他所在的上层方法的块,不是整个类,也不是他的上一级括号 例子: 代码 package com.java.test;publicclass T {int countNumber=4;publicvoid test(){if(countNumber &gt;0){countNumber --;System.out.println(countNu...
在C#中void函数还要不要return;?
首先:像这样的函数rnint hanshu()rnrn return xx;//肯定是要return的rnrn但是:rnstatic void Main(string[] args)rnrn //这样的函数我习惯不用什么return;就算在特别时候也用的很勉强. rnrn如果是自己定义的子函数或事件函数.rnvoid zidingyi(int k)rnrnrnprivate void btn_Str_Click(object sender, EventArgs e)rnrnrn这样的我只有需要提前退出函数(方法)时才用return;的.rn----------------------------------------------------------------------------------------------rn反编译*.exe后发现原程序添加了很多this.但是没加什么return;是不是C#里不用管什么返回到调用处的下行之类的东西啊?rnrn rn
void返回值方法中的return用法
之前以后不能使用return 因为不懂void对应什么想来想去在找中止void方法的语句,想到一个throw,呵呵 if (token.equals(null)){                    UiApplication.getUiApplication().invokeLater(                            new Runnable(){          
C关键字解读——void, return, const
一、void  关键字          void *  表示“空类型指针”,可以指向任何类型的数据。          void a 在VC++6.0编译器上编译会报错,但是,就算是不报错,这个代码也没有一点实际意义。          那么void  真正发挥作用在于:          (1)对函数返回的限定;          (2)对函数参数的限定。 float *p1;
void函数中人return的含义
void Backtrack(int i)rnrn if(i > n)rn rn if(cw > bestw)rn rn for(int j = 1;j <= n;j++)rn bestx[j] = x[j];rn bestw = cw;rn rn return;rn rn r = r-w[i];rn if(cw+w[i]<=c)rn rn x[i] = 1;rn cw=cw+w[i];rn Backtrack(i+1);rn rn r = r+w[i];rnrn这里我输入n的值为4,当执行return 之前i的值为四,执行完return语句之后i变为了2(i的初始值为1),求解释!
void 与 return 的矛盾(thinking in C++)
我在学习《C++编程思想》(thinking in C++)时经常发现有下段例子,rnvoid* fetch(stash*s,int index)rnif(index>=s->next||index<0)rnreturn 0;rnreturn &(s->storage[index*s->size]);rn问题是void 不是已规定不让代回任何值,rn可为何还用return 返回函数地址?
关于void *和(void *)和void **的问题
就像下面这两个函数定义中的rnint pthread_creat(pthread_t *thread, pthread_attr_t *attr, void*(*strat_routine)(void *), void *arg);rn中的void *(*start_routine)(void *)是什么意思?rn还有下面这个例子rnint pthread_join(pthread_t th, void **thread_return);rn中的void **thread_return是什么意思?rnrn谢谢
关于return语句用于void函数中的问题
return语句既可用于非void函数中,也可用于void函数中,我想请教一个问题,在return语句用于void函数中(除主函数)时,程序返回后是回到主函数重新执行程序还是回到其它地方啊?求解答?
关于“void main(void) ”?
网上看了些文章谈到void main(void) 是错误的,不是C/C++标准rn但发现在许多地方都是这么写的,尤其是在嵌入式软件中,rn那么究竟void main(void) 是对是错?应该怎样写
关于void*与void**的区别
由于void就是不检查数据类型,所以,对于编译器来说, void* 和 void** ,甚至后面n个 * ,都是一样的. 问题的关键在于,让我们这些编程的人可以区分. 原则上,void* 可以是一个一级指针,二级指针,甚至是n级指针. 但我们的使用习惯是, 一个 * 代表一级指针,多级指针就用n个*表示.   在实际使用的时候, 如果告诉你, void* 是一个n级指针,你不会觉得别扭吗?假如是一...
java 中void的使用
void是无返回值的意思。 比方说 public void walk() { System.out.print("你好!"); } 如果别的地方调用这个方法 就会打印出 你好! 再看这里: public String walk() //注意这里的返回类型是String不是void了 {
java中void的用法
void关键字 void关键字,它代表的意思是什么也不返回,我们在开发过程中经常会用到,如一个方法不需要返回值时可以使用void关键字,在main方法中也是void关键字。 public static void getName() { String name = "username"; System.out.println(name); } public st...
java中的void的含义
void是无返回值的意思。 比方说 public void walk() { System.out.print("你好!"); } 如果别的地方调用这个方法 就会打印出 你好! 再看这里: public String walk() //注意这里的返回类型是String不是void了 { ...
java中 构造器与void
在java中,构造器与void都没有返回值, java编程思想中这么解释构造器的: 构建器属于一种较特殊的方法类型,因为它没有返回值。这与 void 返回值存在着明显的区别。对于void 返回值,尽管方法本身不会自动返回什么,但仍然可以让它返回另一些东西。构建器则不同,它不仅什么也不会自动返回,而且根本不能有任何选择。若存在一个返回值,而且假设我们可以自行选择返回内容,那么编译器多少要知道如何...
Java中的Void类
类Void java.lang.Object java.lang.Void
关于Java中方法参数为Void的用法
关于Java中方法参数为Void的用法 看String源码的时候发现方法参数竟然有一个参数是Void类型的,感觉很奇怪,做了这么长时间的java还是头一次发现方法参数是Void类型的,看了代码以后发现这种用法确实不错,特此记录一下 String的源码里面这个方法就用了Void做了参数,比较好奇,就去追踪的看了下。 String(char[] value, int off, int len,...
关于java中返回值的问题void
同是java初学者,所以对很多的琐碎的知识掌握的一定很模糊,当时感觉可能已经掌握了,但是当自己用的时候才突然感觉到有点力不从心,模棱两可!所以对学过的知识还是要多加练习,夯实基础才是王道!偶然看到别人问关于返回值的问题,突然不知道该怎么来解答别人的疑惑了,因为我也是一个疑惑者,但是还好有很多高手举了很多生动地例子来帮助理解!以下是几个很好的比喻: 1.void test1(int a){ Sy
关于js函数中的 return
function foo1() { return { bar: "hello" }; } function foo2() { return { bar: "hello" }; } var a=foo1(); var b=foo2(); console.log(a) //Object {bar: "hello"} console....
关于Java编程语言中的return
 众所周知,return 只能用在有返回类型的函数中,但是有返回值的函数一定要有return吗?return都可以用在函数的哪些地方呢?这是本文需要讨论的问题。 例一:  class test { public String test() { if(true){ return ""; } else{ return ""; } } }  上
JAVA中 return的用法
JAVA中 return的用法 从当前函数退出,并从那个函数返回一个值。  return[()[eXPression][]];  可选项 expression 参数是要从函数返回的值。假如省略,则该函数不返回值。  说明  用 return 语句来终止一个函数的执行,并返回 expression 的值。假如 expression 被省略,或在函数内没有 return 语句
return 在Java中作用
转自:http://lavasoft.blog.51cto.com/62575/53251 return 在Java中作用         根据《Java编程思想:第四版》4.5节中介绍:return语句作为一个无条件的分支,无需判断条件即可发生。return语句主要有两个用途:一方面用来表示一个方法返回的值(假定没有void返回值),另一方面是指它导致该方法退出,并返回那个值。根据方法的
JAVA中的return语句。。。。。。。。
class Personrnrn public [color=#FF0000]void [/color] m(int age)rn if(age>100) [color=#FF0000]return[/color]rn rn rnrnrnrnrn当对象调用m()这个方法的时候,执行return会跳到哪???
Java中的return关键字
Java中的return有两方面的用途: (1)返回方法指定类型的值(前提是方法的返回值类型不是void)。 (2)方法的结束,它会导致当前的方法退出。   使用的两种形式: (1)方法有返回值类型,格式: return 返回值; (2)方法没返回值类型,格式: return;   例子1:方法有返回值类型 public class Testreturn { static...
java中return的使用
Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句)。 在return语句的各类文章中,大多仅仅介绍了return语句用于有返回值(非void返回值)的方法中。而很少或没有介绍return语句在vodi返回值方法中的运用。 return语句用在非void返回值类...
Java中的异常处理与return
Java中的异常可抛可捕抓,就是throw或try...catch.如果是throw,那么在抛完异常后,后面的代码不会再执行.如果是try...catch,程序还会往下执行.大多数情况下,我们都是使用try...catch捕获异常.在catch块内进行异常的业务处理.再使用throw把异常抛出....
Java中的return 语句
众所周知,return 用在有返回类型的函数中,但是有返回值的函数一定要有return吗?return都可以用在函数的哪些地方呢?这是本文需要讨论的问题。 --------------------------------------------------------------------- 例一: classtest{ publicStringtest...
Java中return的用法
Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句)。 以下是无返回值的情况: public void test1() { System.out.println(&quot;---------无返回值类型的return语句测试--------&quot;); ...
java中的return语句
java中的return语句总是和方法有密切联系,return语句总是用在方法中,有2个作用:一个是返回方法指定的类型的值(这个值总是确定的),另一个是结束方法的执行(仅仅是一个return语句)。 public class ReturnTest { public static void main(String args[]) { ReturnTest t = new Retur
Java中return的含义
写了这么久的代码,才明白了return的含义以及其用法,下面介绍一下我理解的return
相关热词 c# 线程顺序 c#昨天当前时间 c# 多进程 锁 c#mysql图片存取 c# ocx 委托事件 c# 读取类的属性和值 c# out 使用限制 c#获取url的id c#怎么进行分页查询 c# update 集合