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

我是否在Java中错误地执行操作顺序?,java,operator-precedence,Java,Operator Precedence,我在这个问题上有点麻烦 我不确定%(mod)在贝德马斯的操作顺序上的位置 37 % 20 % 3 * 4 = ? 我的心算答案是5,但我一定是做错了什么。%mod在BEDMAS中的位置是什么?模(%)运算符与除法(/)运算符具有相同的优先级,因此: 37%20等于17 17%3等于2 2*4等于8 我刚刚测试了这个,java输出了完全正确的结果。37 % 20 = 17, 17 % 3 = 2, 2 * 4 = 8. 但是请参考您的BEDMAS问题BEDMAS具有误导性,因为它暗示在乘法之前先

我在这个问题上有点麻烦

我不确定%(mod)在贝德马斯的操作顺序上的位置

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

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

37%20等于17
17%3等于2
2*4等于8


我刚刚测试了这个,java输出了完全正确的结果。37 % 20 = 17, 17 % 3 = 2, 2 * 4 = 8. 但是请参考您的BEDMAS问题

BEDMAS具有误导性,因为它暗示在乘法之前先除法。 这对小学来说更重要

应该是

  • 乘法运算:*/%
  • 加法(二进制)运算:+-
  • 括号、一元(-)、位和逻辑运算也不完全包含在BEDMAS中

        (((37 % 20) % 3) * 4) = 8
    
    和非模后乘法:

        ((37 % 20) % (3 * 4)) = 5  ***
    

    你为什么不直接运行代码,看看这里的操作顺序是什么?你说“我的答案是5”是什么意思?如果您手动计算,这是您的答案,还是您的Java代码的输出(它不应该是8,所以我们希望看到a)。@Amongalen我对输出不感兴趣,但更重要的是operations@MarkRotteveel我的心算答案是(错误的)5。我应该clarified@Tarapuka考虑到这个等式有多么简单,你可以很容易地推断出你的问题的答案。你能想到多少可能的结果?2.3?A参考::运算符
    *
    /
    %
    称为乘法运算符。。。它们具有相同的优先级,并且在语法上是左关联的(它们从左到右分组)。