递减后,a-- * a--是什么?

问题描述 投票:0回答:1
int a = 10;
System.out.println(a-- * a--);

这些打印语句的输出是什么,为什么??

在后递减中我们实际上观察到

  • 在找零之前使用该值

但是在这里,我得到一个运算符 (a--) 是 10,而在另一个运算符 (a--) 中,我们与之相乘得到 9.

总的来说我遇到的输出是100但实际输出是90

请解释如何做?

java decrement
1个回答
0
投票

Java 看到

A * B
,因此它首先需要计算两个参数 A 和 B。

左操作数(A)

a--
被执行,使
a = 9
,但是返回它之前的值,所以
10
.

我们现在有

10 * a--
。接下来,Java 执行正确的操作数 (B),我们得到
a = 8
,但我们使用它在递减之前的值,所以
9
.

我们得到

10 * 9
,也就是
90
。和
a = 8
.

© www.soinside.com 2019 - 2024. All rights reserved.