对于参数类型double,boolean,运算符 - =未定义

Sap*_*Boh -3 java double if-statement boolean

我正在开发一些东西.但是出现错误,我无法修复它.它说''运算符 - =未定义参数类型(s)double,boolean''在我的代码中:

if (x -= 15.0D < 0.0D) {
Run Code Online (Sandbox Code Playgroud)

我只是遗漏了部分代码.任何人都知道如何解决它?我无法让它发挥作用.谢谢 :)

And*_*ner 8

由于在Java中定义运算符优先级的方式,-=优先级低于<; 因此,x -= 15.0D < 0.0D被评估为:

x -= (15.0D < 0.0D)
Run Code Online (Sandbox Code Playgroud)

要么

x -= false
Run Code Online (Sandbox Code Playgroud)

这不是Java中的有效表达式,因为错误说:

对于参数类型double,boolean,运算符 - =未定义

修复取决于您要表达的内容:

请注意,您不需要.,0和D后缀:只要你有字面一个小数点,并且不使用F后缀,使之成为float,小数文字是的double类型.

15.   15D  15.0  15.D  15.0D
Run Code Online (Sandbox Code Playgroud)

都是double具有相同值的有效文字.(就个人而言,我更喜欢15.0:我不喜欢以a结尾的.那个;它对我来说看起来不完整;而且15D看起来有点太像了150).