下面这个代码是成立的,可我想不通,就是变量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中最大的