如何/可以同时使用&&和|| 在相同的if语句条件下?

Hou*_*272 4 java operators logical-operators

其中,哪个逻辑运算符优先于"优先级"或"读取",所以说.

例如:

if( x=y || y=y && x=x ){}
Run Code Online (Sandbox Code Playgroud)

是java读这个:这两个中的一个:(x = y || y = y),AND(x = x)

或作为:(x = y)或(y = y AND x = x)


听起来像是会被问到或至少很容易找到的东西,但唉,"和"+"或"是谷歌的关键词.

Eri*_* J. 10

运算符&&的优先级高于||,因此&&将首先进行评估.

http://introcs.cs.princeton.edu/java/11precedence/

尽管如此,许多程序员仍然不会记住这一事实.使用括号来明确说明预期的评估顺序更清晰,更易于维护.

请注意,在您编写的代码中

x=y
Run Code Online (Sandbox Code Playgroud)

这实际上是赋值运算符,而不是相等运算符.想必你打算

x==y
Run Code Online (Sandbox Code Playgroud)

  • 借用`()`来分离逻辑语句.这使代码更容易阅读,并使您的意义透明. (3认同)