Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java';关于返回值及其参数的方法的逻辑_Java_Methods - Fatal编程技术网

Java';关于返回值及其参数的方法的逻辑

Java';关于返回值及其参数的方法的逻辑,java,methods,Java,Methods,Java方法不需要返回语句来匹配其参数。为什么? 考虑这个简单的方法,它需要三个参数,x、y和z。当仅使用一个返回参数(即返回x、y或z)时,该方法有效。为什么Java不要求返回x,y,z或类似的东西?我是一个Java初学者,所以当我们学习OOP原则时,也许我会了解为什么。不管怎样,我很好奇它背后是否有逻辑,或者那只是Java。谢谢 public static int someNumbers(int x, int y, int z) { if (y > z) { S

Java方法不需要返回语句来匹配其参数。为什么?

考虑这个简单的方法,它需要三个参数,x、y和z。当仅使用一个返回参数(即返回x、y或z)时,该方法有效。为什么Java不要求
返回x,y,z或类似的东西?我是一个Java初学者,所以当我们学习OOP原则时,也许我会了解为什么。不管怎样,我很好奇它背后是否有逻辑,或者那只是Java。谢谢

public static int someNumbers(int x, int y, int z) {

    if (y > z) {
       System.out.printf("%d is greater than %d", y, z);
    } else {
       System.out.printf("Number three is %d", z);
    }   
    return x;   
}

参数
返回类型
之间实际上没有任何关系。一个方法可以有0个或多个任意类型的参数

public int someMethod(int x, String y, Object z) {
   //Does something
    return x * 5 - 10;
}
但它可能只有0或1个返回值。其中0返回值必须定义为void:

public void someMethod(int x, String y, Object z) {
   //Does something but returns nothing
}
当需要返回1个以上的值时,例如2个
整数
,您可以创建一个保存这些值的
对象。这就是
Java
作为
面向对象语言的定义

class IntegerHolder{
    int firstValue;
    int secondValue;

    //This is a constructor, it creates the object.
    public IntegerHolder(int first, int second){
        firstValue = first;
        secondValue = second;
    }
}

public IntegerHolder someMethod(int x, String y, Object z) {
    return new IntegerHolder(x, x * 2);
}

不过,我还是建议大家多读一些基本的
Java
。网络上有成百上千的资源。

参数和
返回类型实际上没有任何关系。一个方法可以有0个或多个任意类型的参数

public int someMethod(int x, String y, Object z) {
   //Does something
    return x * 5 - 10;
}
但它可能只有0或1个返回值。其中0返回值必须定义为void:

public void someMethod(int x, String y, Object z) {
   //Does something but returns nothing
}
当需要返回1个以上的值时,例如2个
整数
,您可以创建一个保存这些值的
对象。这就是
Java
作为
面向对象语言的定义

class IntegerHolder{
    int firstValue;
    int secondValue;

    //This is a constructor, it creates the object.
    public IntegerHolder(int first, int second){
        firstValue = first;
        secondValue = second;
    }
}

public IntegerHolder someMethod(int x, String y, Object z) {
    return new IntegerHolder(x, x * 2);
}

不过,我还是建议大家多读一些基本的
Java
。网络上有数百种资源。

一个定义良好的函数只能有一个输出。输入和输出之间存在这样一种关系,您可以提供多个输入,但它只能提供一个输出

Java函数定义就是遵循这个规则。为了一次得到多个结果,您可以使用Java的一些其他特性。但应根据函数的定义在输出时返回。您也可以阅读以下内容:


一个定义良好的函数只能有一个输出。输入和输出之间存在这样一种关系,您可以提供多个输入,但它只能提供一个输出

Java函数定义就是遵循这个规则。为了一次得到多个结果,您可以使用Java的一些其他特性。但应根据函数的定义在输出时返回。您也可以阅读以下内容:


参数是输入到方法中的内容,返回值是输出的内容。为什么它们应该匹配?我还要说,传统上,大多数编程语言只返回一个结果,Java在设计时非常符合传统语言的模式。按照这种逻辑,一个不带参数的方法是否应该强制执行无效返回?当您需要返回多个值时,您可以创建一个Java对象类的实例,该实例包含您想要返回的所有值。一个包含许多值的返回值。@PaulBoddington让我困惑的是“返回x;”或“返回y;”甚至像“返回y*y%z+y-z*z;”这样的算术废话所有的工作。只要return语句中有一个参数变量,它就会正确返回。参数就是你输入到方法中的内容,返回值就是你得到的内容。为什么它们应该匹配?我还要说,传统上,大多数编程语言只返回一个结果,Java在设计时非常符合传统语言的模式。按照这种逻辑,一个不带参数的方法是否应该强制执行无效返回?当您需要返回多个值时,您可以创建一个Java对象类的实例,该实例包含您想要返回的所有值。一个包含许多值的返回值。@PaulBoddington让我困惑的是“返回x;”或“返回y;”甚至像“返回y*y%z+y-z*z;”这样的算术废话所有的工作。只要return语句中有一个参数变量,它就会正确返回?