请求大神帮我看一看下面的代码分析一下为什么成立,是关于比较四个数最大值的

下面这个代码是成立的,可我想不通,就是变量x,y,z那里。
它们为什么会自动比较出最大值呢?明明没有任何相关的声明啊?
我现在就学了一个min函数,可min不是返回两值最小吗?
自己查了发现还有个返回最大值的max函数,但这里也没有关于max函数的声明
想不通,蓝瘦T T

    public class 四个数值求最大值 {


public static void main(String[] args) throws Exception {

    BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
    String num = buffer.readLine();
    String num1 = buffer.readLine();
    String num2 = buffer.readLine();
    String num3 = buffer.readLine();

    int a = Integer.parseInt(num);
    int b = Integer.parseInt(num1);
    int c = Integer.parseInt(num2);
    int d = Integer.parseInt(num3);

    int x = bijiao(a,b);
    int y = bijiao(x,c);
    int z = bijiao(y,d);

    System.out.println(z);


}
public static int bijiao(int a , int b){
    int m = a;
    if(a<=b)
    {
        m=b;

    }
    return m;
}

}

你的方法:bijiao里不是有一个if判断吗。
首先:m=a 意思是将a指向的内存地址,赋值给m,也就是说m与a都指向了同一个内存地址(也就是同一个值)
然后:if判断如果a<=b 则将b指向的内存地址赋值给m 也就是说如果a小于等于b那么m==b
最后:将m指向的值返回了。
在整个方法逻辑里m所指向的值都是ab中较大的那个值,所以返回的就是最大值。

问题解决的话,请点下采纳

public static int bijiao(int a , int b){
    int m = a;
    if(a<=b)
    {
        m=b;

    }
    return m;
}
这个函数返回2个数字里最大的

 int x = bijiao(a,b);
    int y = bijiao(x,c);
    int z = bijiao(y,d);

        x是ab最大的,y是xc中最大的,也就是abc中最大的
        z是yd中最大的,也就是abcd中最大的