|
本人一初学java者,有一问题怎么也看不懂,请各位大侠指教!
public class Operator15 {
public final static void main(String args[]){
int x=3;
int y=5;
int res=x+(x++)+(++x)+y;
System.out.println(res);
}
}
程序执行结果是:16.可我觉得应是18才对。就是先计算++x值为3,然后自增为4,在计算++x应该先自增为5,再参与计算。然后计算x为5,y为5,这样结果就应该是18了,问题出在哪?
然后我把程序做了一个小修改:
public class Operator15 {
public final static void main(String args[]){
int x=3;
int y=5;
int res=(x++)+(++x)+x+y;
System.out.println(res);
}
}
执行结果就是18了,这两个程序有什么差别吗? |
|