害羞的新手 发表于 2020-4-13 20:56:16

有关return语句的问题

在定义方法如果需要返回值时需要用到return语句返回一个值,要输出这个值时可以使用System.out.println(方法)。那么为什么在方法中不能写System.out.println(return 值)呢?
这个return值为什么不能由方法直接输出哪?return语句到底是怎么一回事呢?

永恒的蓝色梦想 发表于 2020-4-13 21:06:46

你输出了,调用的也接受不到,反倒是你接受到了。
return 就是让这个值被调用者接收到,而不是你。

可能描述的不大恰当,见谅。

sunrise085 发表于 2020-4-13 21:34:08

本帖最后由 sunrise085 于 2020-4-13 21:48 编辑

System.out.println(方法)和return 没有冲突啊。
你可以在方法中将return的值进行println输出、

方法之所以有return,是因为调用该方法的程序需要这段代码(该方法)的运行结果。
若是调用该方法的程序不需要此结果,那就可以不用return任何值啊
看以下程序,两个方法,一个需要返回值,一个不需要返回值
import java.io.*;
class test
{
        public static void main (String[] args) throws java.lang.Exception
        {
      int a=23;
      int b=98;
      int c=max(a,b);
      System.out.println("main 中 a 和 b 中较大的值是"+c);
      noreturn(a,b);
        }
        public static int max(int num1, int num2) {//这个方法需要返回值,但是同时也可以在方法中输出
      int result;
      if (num1 > num2)
         result = num1;
      else
         result = num2;
      System.out.println("方法中输出 a 和 b 中较大的值是"+result);
      return result;
   }
   public static void noreturn(int num1, int num2) {//这个方法不需要返回值,就没有return
      int result;
      result=num1+num2;
      System.out.println("a 与 b 的和:"+result);
   }
}

倒戈卸甲 发表于 2020-4-13 21:38:08

你可以写一个打印,然后每次调用这个函数时都会打印。但问题在于你这样就写死了。如果是需要将这个值传给变量a呢?你有返回语句,比如说你返回了一个20,现在你定义一个int变量a刚刚能收下这个20。但如果没return语句,那就不行。
页: [1]
查看完整版本: 有关return语句的问题