int i=3;
int count=(i++)+(i++)+(i++);
System.out.println(i);
System.out.println(count);
int j=3;
count=(++j)+(++j)+(++j);
System.out.println(j);
System.out.println(count);
在这个式子里面为什么i的值与j的值相等?
i++和++i都是对i进行+1的操作。
它们的不同点:i++是在i值被使用后才+1,而++i是i值在被使用之前就+1;
分析下您给的例子:
首先分析count=(i++)+(i++)+(i++);运算是从左到右的,由于i++是在i值被使用后才+1所以第一个括号的(i++)应该为3,但是i的值变成了4,当运算第二个括号(i++)此时i的值是4所以第二个括号的(i++)为4但是此时i的值变成5了,类推第三个括号的(i++)为5但是此时i的值变成了6;也是说该等式变为count=(3)+(4)+(5)=12此时i的值为6.
在分析int j=3;
count=(++j)+(++j)+(++j); ++j的操作顺序是先将j加1后在进行操作,所以第一个括号(++j)先将j加1此时j变为4,所以括号的值相当于4;
第二个括号将j加1后j的值变为5;第三个括号将j加1后j的值变为6所以等式相当于 count=(4)+(5)+(6)此时j的值是6 综上i与j 相当。
简单的说i++就是先使用的i的值然后再加1,而++i就是先将i+1,然后使用i改变后的值。
第1题:
近程I/O与远程I/O的区别是什么?
近程I/O是将过程量直接通过信号电缆引入计算机,而远程I/O则必须通过远程终端单元实现现场I/O的采集,在远程终端单元和控制设备之间通过数字实现通信。
略
第2题:
5、“故为精卫”中,“为”的读音和意思是:
A.wéi ,变成
B.wèi ,为了
C.wèi ,因为
D.wèi ,给
第3题:
单处理机系统中,可并行的是什么? I.进程与进程 II.处理机与设备 III.处理机与通道 IV.设备与设备
A.I、II、III
B.I、II、IV
C.I、II、IV
D.III、IV
第4题:
“故为精卫”中,“为”的读音和意思是:
A.wéi ,变成
B.wèi ,为了
C.wèi ,因为
D.wèi ,给
第5题:
在Java中,语句for (int i=0;i<50; i++)执循环的次数是()。