Java中的100%-40如何


System.out.println(100% - 40);

请解释编译器解决此问题的步骤。

就像我了解的%是一个操作员,它需要两个操作数才能工作,但是在这种情况下,它如何接受另一个操作员,例如" - "?

正确阅读的格式很重要。

System.out.println(100 % -40);

System.out.println(100 % (-40));

然后,很明显有两个操作员:其余操作员%和Unary减去操作员-

此外,操作员优先表解释了为什么即使没有圆形括号,这种非常不寻常的表达也会起作用。

┌────────────────┬───────────────────────────────┐
│   Operators    │          Precedence ↓         │
├────────────────┼───────────────────────────────┤
│ unary          │ ++expr --expr +expr -expr ~ ! │
│ multiplicative │ * / %                         │
└────────────────┴───────────────────────────────┘

这不应按书面方式读取。

%这里不代表百分比。相反,它表示模量。

因此,答案是100 mod(减去40(,即100%(-40(

我希望这对您有帮助

最新更新