我是否在 Java 中错误地执行了我的操作顺序?

Tar*_*uka 3 java operator-precedence

我在回答这个问题时遇到了一些麻烦。

我不确定 % (mod) 在 BEDMAS 操作顺序上的位置。

37 % 20 % 3 * 4 = ?
Run Code Online (Sandbox Code Playgroud)

我的心算答案是 5,但我一定是做错了什么。% mod 在 BEDMAS 中的什么位置?

Mur*_*nik 8

取模 ( %) 运算符与除法 ( /) 运算符具有相同的优先级,因此:

37 % 20 是 17
17 % 3 是 2
2 * 4 是 8

IDEOne输出

  • 参考:[Java Language Spec Chapter 15.7](https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.17): 运算符 `*`, ` /` 和 `%` 被称为乘法运算符……它们具有相同的优先级,并且在语法上是左关联的(它们从左到右分组)。 (4认同)