根据优先级规则,首先应该评估quantity--
,它应该评估为10
,然后应该评估++quantity
,它应该估计为10
,然后执行加法,结果应该是20.0
。
int quantity = 10;
double total = ++quantity + quantity--;
System.out.println("total is: - " + total);
优先级规则告诉您如何解析表达式。具有更高优先级的后递减意味着++quantity + quantity--
必须被解析为
((++quantity) + (quantity--))
例如,以下内容甚至没有意义
((++quantity) + quantity)--
评估顺序不受影响。表达式仍然是从左到右计算的。也就是说,+的左分支在右分支之前。这意味着++quantity
必须在quantity--
之前进行评估。