java阅读程序

来源:百度知道 编辑:UC知道 时间:2024/05/24 01:20:52
class test{
public static void main(String args[ ]){
double d=1.23;
Dec dec=new Dec( );
dec.decrement(d);
System.out.println(d);
}
}

class Dec{
public void decrement(double decMe){
decMe=decMe-0.1;
}
}
运行结果为什么不是1.13,而是1.23,高手解释一下吧!!!

LZ传的参数是值传递,而不是引用传递,且没有返回值,实际上调用前后d的值不变。需要把decrement()方法改成:
public double decrement(double decMe){
decMe=decMe-0.1;
return decMe;
}
调用的时候:
Dec dec=new Dec( );
d=dec.decrement(d);
System.out.println(d); 结果就是1.13了