以前一直分不清楚i++和++i,一直都是死记住,今天终于理解了,特此记录一下
//i++先取后用 ++i先用后取
int i=5;
int s=(i++)+(++i)+(i--)+(--i);
上面这里换成 i+++(++i)+i--+--i 也是一样的结果
System.out.println(i++);//5
上面这里输出为什么是5呢,其实是因为i++是先取后用的,所以i的值传入进去以后就被取出来了,所以整个式子的值就是5,然后执行加1操作,i的值就变为6,然后传给下一个要用的,以此类推。
System.out.println(++i);//7System.out.println(i--);//7
System.out.println(--i);//5
下面这四个的输出是想说明有没有括号都一样
System.out.println((i++));//5System.out.println((++i));//7
System.out.println((i--));//7
System.out.println((--i));//5
System.out.println(s);//24