Java 使用返回类型调用方法

Java 使用返回类型调用方法,java,return-type,Java,Return Type,在下面的方法(目前尚未完成)中,我不明白为什么我能够调用divide(a,left,pIndex,iVal),而不将其赋给整数或打印结果,因为该方法的返回类型是int 同样适用于divide(a,pIndex+1,右,iVal) 公共静态整数除法(int[]a,int-left,int-right,int-iVal){ int值=0; if(左iVal){ } 除法(a,左,pIndex,iVal); 除以(a,pIndex+1,右,iVal); } return-1;//存根 } 方法可以在

在下面的方法(目前尚未完成)中,我不明白为什么我能够调用
divide(a,left,pIndex,iVal)
,而不将其赋给整数或打印结果,因为该方法的返回类型是int

同样适用于
divide(a,pIndex+1,右,iVal)

公共静态整数除法(int[]a,int-left,int-right,int-iVal){
int值=0;
if(左<右){
int pIndex=排序(a、左、右);
如果(pIndex==iVal){
返回一个[iVal];
}
否则如果(pIndex>iVal){
} 
除法(a,左,pIndex,iVal);
除以(a,pIndex+1,右,iVal);
}
return-1;//存根
}

方法可以在任何编程语言中调用,而无需将返回值赋给变量
但是如果类型是一个
void
?那么根据你的推理,你应该把它分配给什么类型
如果不将返回值赋给变量,Java(和大多数其他语言)将非常好。但是,您不能使用
1+1
433782.382
你自己试试这些,你会发现它们不会编译。但是,Java(和大多数其他编程语言)将重写方法调用,这样它们就不必将返回值赋给变量

(在错误中,它表示1+1不是语句。但是,方法调用是语句。)

我想您可能会感到困惑。调用方从来都不需要存储或显示方法调用的结果。某些东西返回值并不意味着您必须对其执行任何操作……Java不会强迫您对方法的返回值执行任何操作。你可以忽略它,“Java语言”不会“重写”方法调用,这样他们就不必将返回值赋给一个变量,它只是不会被赋值。
public static int divide(int[] a, int left, int right, int iVal) {
        int value = 0;
        if (left < right) {
            int pIndex = sort(a, left, right);

            if (pIndex == iVal) {
                return a[iVal];
            }
            else if (pIndex > iVal) {

               } 
               divide(a, left, pIndex, iVal);
               divide(a, pIndex + 1, right, iVal);
           }
           return -1; // stub
       }