无效的目的是什么?

Ric*_*ith 3 java

public class test
{
    public static void main(String[] args)
    {
        int x = 5;
        int y = 10;
        multiply(x,y);
    }
    public static void multiply(int x, int y)
    {
        int z = x*y;
        System.out.println(z);
    }
}
Run Code Online (Sandbox Code Playgroud)

我是编程新手,我对一些事感到困惑.

  1. 为什么使用void是正确的?我认为使用void是为了指定不返回任何内容但是,multiply方法返回z.

  2. 是否所有程序都要求您具有"public static void main(String [] args)"?main方法的目的究竟是什么?"String [] args"的参数是什么意思?如果删除主要方法,程序是否可以工作?

谢谢!

Sna*_*fee 7

首先,乘法方法不返回任何东西; 它打印产品,但不返回任何值.

public static void multiply(int x, int y)
    {
        int z = x*y;
        System.out.println(z); //may look like a return, but actually is a side-effect of the function.
    } //there is no return inside this block
Run Code Online (Sandbox Code Playgroud)

其次,public static void main为您的计划提供一个切入点.没有它,你就无法运行你的程序.有关使用的更多信息,请参阅Java文档public static void main.

String[] args意味着它捕获命令行参数并将其存储为字符串数组(请参阅上面相同的链接,在同一节中).这个数组args在你的main方法中调用(或者你称之为的其他任何东西.Oracle引用argv另一个名字)

System.out.print告诉程序将某些东西打印到控制台,同时return是该方法的结果.例如,如果您将print所有方法添加到调试(通常的做法),则在程序运行时打印东西,但这不会影响程序返回的内容或程序的结果.

想象一下数学问题 - 你将工作"打印"到纸上的每一步,但结果 - "答案" - 是你最终回归的.