操作数上的Post Increment运算符

时间:2018-06-18 09:55:34

标签: java c#

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,我在这方面有点困惑。

2 个答案:

答案 0 :(得分:0)

65 + 67因为x ++将在行完成执行后执行,而++ x将在执行期间执行。

答案 1 :(得分:0)

{+ 1}}很快会在+运算符后变为x。在该运算符之后,66再次递增,因此它变为x。因此,它看起来像这样:66+165+67

考虑计算机实际上做了什么...
 
x ++:从内存加载x,使用,增量,存储回内存。  
 
++ x:从内存加载x,递增,使用,存储回内存。