java 定义方法时,什么时候需要返回值什么时候不需要

public static void test01(int x, int y){ //输出一千以内能被x整除的数且每行y个
int count=0;
for(int b=1;b<=1000;b++) {
if(b%x==0) {
System.out.print(b+"\t");
count++;
if(count==y) {
System.out.println();
count=0;
}
}
}
}

public static int add(int a, int b) {
int sum=a+b;
System.out.println(sum);
return sum;
}

public static void main(String[] arsg) {
test01(5,3);
add(3,6);
}
为什么第一个方法不用return,第二个就需要

main方法必须声明为public static void main(String[]),没有返回值
其他方法视情况决定该返回什么。“视情况”的意思是取决于方法的功能和应用场景,例如add方法的作用是传递两个整数返回它们的和,那返回值自然应该为int型。
如果你还是不能理解,先照着书上的抄。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-03-18
是否需要返回值取决于定义的目地,如果你只是希望把结果打印出来,那么System.out.print语句就够了,不需要return。如果你的计算结果你还要用,就返回出来,定义了返回值的方法调用的时候是可以给变量赋值的。比如你这个add方法。
int x= add(1,1);这样调用以后这个x的值就是计算结果2,这个x可以继续做计算add(x,1);
换言之,如果你需要拿到结果去做别的事情,做别的计算,你就在你定义的方法里面把结果return出来。追问

也就是说,这个add方法,如果我想用来做的只是一个调用并赋值的功能,就可以把方法定义为void,并且不return对么,就像这样
public static void add(int a, int b) {
int sum=a+b;
System.out.println(sum);
}
public static void main(String[] arsg) {
add(3,7);
}

追答

1、你搞反了,这个add方法,如果我想用来做一个调用并赋值的功能,就可以把方法定义为返回,int,然后方法里reutun int型的计算结果,将这个结果给某些变量赋值,如int x= add(1,1);就是给变量X赋值,赋上该方法的返回值2。
2、稍微再讲的通俗点:如果该方法直接把你要办的事情办完了,就无需返回值定义为void。如果你需要通过该方法拿到一个结果,用这个结果来干别的事,那你就可以给它定义一个返回值。

本回答被提问者采纳
第2个回答  2019-03-18
如果需要或者可能需要使用返回值,那么就返回,否则就不反回。
常见的一个例子。对于属性来说, set方法,可以没有返回值。因为set已经结束了。而get方法就肯定有返回值。因为get的结果需要拿来用。
第3个回答  2019-03-18
在定义方法的时候,有一个标识符是用于标记返回值类型的
public class m
{
public (void) fun(){}
}
小括号内的如果是void,则不需要返回,也不允许返回,如果是其他的,如果没有特殊情况,都需要返回
第4个回答  2019-03-16
第一个方法声明是void类型,所以不需要返回值,第二个方法声明是int类型,所以必须返回int类型的值追问

那什么第一个方法是void 第二个就是int呢

本回答被网友采纳
相似回答