public class jiajia
{
public static void main(String[] args)
{
int i=3;
int count=(i++)+(i++)+(i++);
System.out.println(i);
System.out.println(count);
}
}运算结果为:
6
12请问i的值为什么是6?
count的值为什么会是12
想了几天了一直想不明白 count的值为什么是3+4+5呢。
我的想法是: i++应该等于3吧,三个i++不就是3+3+3吗???
同样++i也弄不明白,先把i++弄明白再说++i吧!!!先谢过各位大哥、大姐
{
public static void main(String[] args)
{
int i=3;
int count=(i++)+(i++)+(i++);
System.out.println(i);
System.out.println(count);
}
}运算结果为:
6
12请问i的值为什么是6?
count的值为什么会是12
想了几天了一直想不明白 count的值为什么是3+4+5呢。
我的想法是: i++应该等于3吧,三个i++不就是3+3+3吗???
同样++i也弄不明白,先把i++弄明白再说++i吧!!!先谢过各位大哥、大姐
5,第三个是6。所以i是6。至于count是12是这样的,j=i++后,i=4,j=3,于是count=12。这个实际是不会这样用的
int count=(i++)+(i++)+(i++);
等价于
int i = 3;
int x = i++; // 4
int y = i++; // 5
int z = i++; // 6
int count = x + y + z; // 12
++i是在调用之前+1
int count=(i++)+ (i++)+ (i++);
第一次调用 第二次调用 第三次调用
前 中 后 前 中 后 前 中 后
3 3 4 4 4 5 5 5 6
所以i为调用后的=6
count为调用i的过程中
为3+4+5
先把基础学好,再提问题!
++i是i的值先加一,然后再用i的值!!!
++i是先执行再调用
所以在用时要注意,i值的变化!!
++i是先执行再调用
所以在用时要注意,i值的变化!!
从右向左执行,也就是count=5+4+3,
最后执行第一个i++, 即5++ = 6
宁愿用 a=a+1;也不要用a=a++;(如果你分不清++和=的优先顺序)
++i是在调用之前+1
int count=(i++)+ (i++)+ (i++);
第一次调用 第二次调用 第三次调用
前 中 后 前 中 后 前 中 后
3 3 4 4 4 5 5 5 6
所以i为调用后的=6
count为调用i的过程中
为3+4+5
使用(i++) 实际就是使用i, 使用了后将i自增从本质理解的
其实问题也很简单:
1. 你首先得弄懂楼上说的:i++是先赋值再+1,++i是先+1再赋值;
2. 不管是i++ 还是++i 反正它一共自增3次,最后打印肯定是6;
3. 至于count的结果就是取i不同时期的值相加。
其实问题也很简单:
1. 你首先得弄懂楼上说的:i++是先赋值再+1,++i是先+1再赋值;
2. 不管是i++ 还是++i 反正它一共自增3次,最后打印肯定是6;
3. 至于count的结果就是取i不同时期的值相加。
其实问题也很简单:
1. 你首先得弄懂楼上说的:i++是先赋值再+1,++i是先+1再赋值;
2. 不管是i++ 还是++i 反正它一共自增3次,最后打印肯定是6;
3. 至于count的结果就是取i不同时期的值相加。