public static void main(String []args)
{
char x = 'A';
System.out.println(x++ + ++x); //In Java
Console.WriteLine(x++ + ++x); // In C#
}
在上面的示例程序中,我期望输出为133.这就是我评估的方式。 由于后期和前级增量优先于' +' ,它将首先得到评估
第1步:System.out.println(66 + 67)
第2步:System.out.println(133)
在增量后操作中x何时变为66。是否在下一行中该值变为66,我在这方面有点困惑。
答案 0 :(得分:0)
65 + 67因为x ++将在行完成执行后执行,而++ x将在执行期间执行。
答案 1 :(得分:0)
{+ 1}}很快会在+运算符后变为x
。在该运算符之后,66
再次递增,因此它变为x
。因此,它看起来像这样:66+1
,65+67
。
考虑计算机实际上做了什么...
x ++:从内存加载x,使用,增量,存储回内存。
++ x:从内存加载x,递增,使用,存储回内存。