编程语言
首页 > 编程语言> > System.out.println()与Java返回之间的差异

System.out.println()与Java返回之间的差异

作者:互联网

我试图理解在方法中使用System.out.println()与return blah的区别和好处.

似乎System.out.println()用于显示静态信息,return是从方法返回的值.然而,我看到的示例如下所示,其中一个函数在System.out.println()语句中使用

System.out.println(name.substring(1, 3));

什么时候使用System.out.println()并返回.是否可以在以后使用另一段代码返回,而System.out.println()不能?

解决方法:

你的最后一句话是有效的,但这两项操作之间的区别是巨大的,所以我想更深入地解释它们之间的差异.

区别:

return是一个控制程序执行流程的指令.它是Java语法的基础部分.它告诉计算机要执行的代码部分,以及执行期间要使用的值.当您返回一个值时,您说“调用此方法的结果是XXXX”(“XXXX”是您返回的值).

System.out.println不用于控制程序的执行方式.这是告知用户程序内部情况的唯一方法. System.out.println(简称syso)可以将任何信息打印到控制台;它是变量,表达式还是方法调用的结果并不重要. “静态”数据没有限制.

让我们看看他们两个在行动:

int addInts(int arg0, int arg1)
{
    return arg0 + arg1;
}

这意味着我们在程序中调用addInts,它将评估其参数的总和.因此,当我们编写addInts(3,7)时,它就像在我们的源代码中简单地写了3 7或10一样.没有任何东西打印到控制台;我们所做的就是给我们的程序一个计算某事的方法.

但是,如果他们只是坐在计算机内,我们可能做出的任何计算最终都是无用的,所以我们需要一种方法来向用户显示这些信息.输入syso:

System.out.println(addInts(22, 16));

调用addInts方法并返回38.该值放在计算机内存中的某个位置,以便我们的程序可以找到它.

接下来,syso获取该值(38)并将其打印到控制台,让用户知道计算了什么值.此程序没有计算任何新内容,我们的程序将继续下一个语句.

那么我用哪个?

在简单的程序中,您只有很少的值来跟踪它,您可能很想打印出您想要知道的所有内容.例如,如果你正在编写一个程序来做你的代数作业(我去过那里)并且你写了一个方法来解决二次方程式,那么它可能很容易像这样构造它:

class Algebra
{
    static void quadSolve(double a, double b, double c)
    {
        double result = /* do math...  we're ignoring the negative result here*/;

        System.out.println("The solution to the quadratic equation is: " + result);
    }

    public static void main(String[] args)
    {
        quadSolve(1.0, -6.0, 9.0);
    }
}

但是,如果您想让程序更复杂一点,这种方法很快就会成为一个非常糟糕的主意.假设有一个问题需要您求解二次方程,然后使用该计算的结果来计算圆柱体积.在上面的例子中,我们不能这样做:在我们通过syso将结果的值转储到控制台之后,当quadSolve方法结束时它会消失.如果我们有quadSolve返回结果并让“调用者”(调用quadSolve的地方)处理该值,那将更有意义.这是一个更灵活的设计,使我们可以相对轻松地使我们的程序更复杂.这种增加的灵活性和模块化实际上是使方法有用的原因.这是实施:

class Algebra
{
    static double quadSolve(double a, double b, double c)
    {
        double result = /* do math...  we're ignoring the negative result here*/;

        return result;
    }

    public static void main(String[] args)
    {
        double x = quadSolve(1.0, -6.0, 9.0);
        //now we can do whatever we want with result: 
        //print it, negate it, pass it to another method-- whatever.
        System.out.println("The solution to the quadratic equation is: " + x);
        System.out.println("And it's square is: " + (x * x));
    }
}

我希望这可以解决问题.随意询问您是否需要进一步澄清.

标签:java,return,return-value,system-out
来源: https://codeday.me/bug/20190918/1811149.html