public class exec { /**
* @param args
*/
static void add(double x,double y){
double z;
z=x+y;
System.out.println("z="+z);
}
static double add1(double y1,double y2){
System.out.println(++y1+y2+2.9);
return ++y1+y2+2.9;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
double f1=2,f2=4;
add(f1,add1(f1,f2));
}}输出为 9.9 和12.9
问题 为什么是12.9? 值类型不是拷贝副本吗?
* @param args
*/
static void add(double x,double y){
double z;
z=x+y;
System.out.println("z="+z);
}
static double add1(double y1,double y2){
System.out.println(++y1+y2+2.9);
return ++y1+y2+2.9;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
double f1=2,f2=4;
add(f1,add1(f1,f2));
}}输出为 9.9 和12.9
问题 为什么是12.9? 值类型不是拷贝副本吗?
return ++y1+y2+2.9;return 回去的是10.9. 最后结果12.9.
楼主认为应该是几?
i++ 先使用然后i+1
++i 先i+1然后使用
这和对象传过来地址是不一样的。