java 定义方法时,什么时候需要返回值什么时候不需要
publicstaticvoidtest01(intx,inty){//输出一千以内能被x整除的数且每行y个intcount=0;for(intb=1;b<=1000;b...
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,第二个就需要 展开
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,第二个就需要 展开
7个回答
展开全部
是否需要返回值取决于定义的目地,如果你只是希望把结果打印出来,那么System.out.print语句就够了,不需要return。如果你的计算结果你还要用,就返回出来,定义了返回值的方法调用的时候是可以给变量赋值的。比如你这个add方法。
int x= add(1,1);这样调用以后这个x的值就是计算结果2,这个x可以继续做计算add(x,1);
换言之,如果你需要拿到结果去做别的事情,做别的计算,你就在你定义的方法里面把结果return出来。
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。如果你需要通过该方法拿到一个结果,用这个结果来干别的事,那你就可以给它定义一个返回值。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果需要或者可能需要使用返回值,那么就返回,否则就不反回。
常见的一个例子。对于属性来说, set方法,可以没有返回值。因为set已经结束了。而get方法就肯定有返回值。因为get的结果需要拿来用。
常见的一个例子。对于属性来说, set方法,可以没有返回值。因为set已经结束了。而get方法就肯定有返回值。因为get的结果需要拿来用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在定义方法的时候,有一个标识符是用于标记返回值类型的
public class m
{
public (void) fun(){}
}
小括号内的如果是void,则不需要返回,也不允许返回,如果是其他的,如果没有特殊情况,都需要返回
public class m
{
public (void) fun(){}
}
小括号内的如果是void,则不需要返回,也不允许返回,如果是其他的,如果没有特殊情况,都需要返回
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个方法声明是void类型,所以不需要返回值,第二个方法声明是int类型,所以必须返回int类型的值
追问
那什么第一个方法是void 第二个就是int呢
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询