如果JAVA中后减量的优先级高于前增量,那么为什么下面的代码输出为22.0而不是20.0。?
根据优先规则,首先应计算quantity--
,该值应计算为10
,然后应计算++quantity
,该值应计算为10
,然后执行加法,结果应为20.0
int quantity = 10;
double total = ++quantity + quantity--;
System.out.println("total is: - " + total);
你可以在下面搜索框中键入要查询的问题!
根据优先规则,首先应计算quantity--
,该值应计算为10
,然后应计算++quantity
,该值应计算为10
,然后执行加法,结果应为20.0
int quantity = 10;
double total = ++quantity + quantity--;
System.out.println("total is: - " + total);
# 1 楼答案
优先规则告诉你如何解析表达式。具有更高优先级的后减量意味着
++quantity + quantity
必须解析为而不是像下面这样毫无意义的例子
评估顺序不受影响。表达式仍然从左向右求值。也就是说,+的左分支在右分支之前。这意味着
++quantity
必须在quantity
之前进行评估