表达式 Java 中的运算符优先级:11%2*7/(3+2)?
Operator precedence in Java for the expression: 11%2*7/(3+2)?
根据我的理解,根据 PEDMAS,上述表达式的运算符优先级应为 1
但如果我将整个表达式声明为浮点数,则答案为 1.4.
那么,正确答案是 1 还是 1.4?
11%2*7/(3+2)?
1. (3+2) = 5
2. 11%2 = 1
3. Putting all together = 1*7/5 = 1 ans
如果你这样做 (float)11%2...
,你将 11 转换为浮点数,并使用浮点模函数得到 11.0%2,returns 1.0。然后 1.0 导致乘法为 1.0*7 which returns 7.0 这导致我们使用浮点除法 which returns 1.4.
如果你想要1(整数),你需要使用(float)(11%2...)
将整个结果转换为浮点数
So, which is the right answer 1 or 1.4?
他们两个。你引用的两个案例是不同的表达方式.
作为程序员,你写你需要的表达式。
根据我的理解,根据 PEDMAS,上述表达式的运算符优先级应为 1 但如果我将整个表达式声明为浮点数,则答案为 1.4.
那么,正确答案是 1 还是 1.4?
11%2*7/(3+2)?
1. (3+2) = 5
2. 11%2 = 1
3. Putting all together = 1*7/5 = 1 ans
如果你这样做 (float)11%2...
,你将 11 转换为浮点数,并使用浮点模函数得到 11.0%2,returns 1.0。然后 1.0 导致乘法为 1.0*7 which returns 7.0 这导致我们使用浮点除法 which returns 1.4.
如果你想要1(整数),你需要使用(float)(11%2...)
将整个结果转换为浮点数
So, which is the right answer 1 or 1.4?
他们两个。你引用的两个案例是不同的表达方式.
作为程序员,你写你需要的表达式。