为什么我会在这一行获得“多个标记”
- Syntax error on token "=", !=
expected` error? I am coding in Eclipse.
我的代码有什么问题吗?
a_Exists
,l_Exists
,v_Exists
和all_Exits
是布尔值
if(a_Exists=false && l_Exists=false && v_Exists=false)
{
all_Exists = false;
}
答案 0 :(得分:4)
有三件事是错的:
!x
代替x==false
与boolean
s更常见:if
语句是不必要的 - 您可以在一个表达式中完成。以下是:
all_Exists = a_Exists && l_Exists && v_Exists;
答案 1 :(得分:3)
你需要使用==
进行比较,但是,因为我们在这里使用布尔值,你可以逃脱
if(!a_Exists && !l_Exists && !v_Exists)
{
all_Exists = false;
}
答案 2 :(得分:3)
a_Exists=false
将false
值分配给a_Exists
。
您可以使用==
来比较或更好地使用:
if(!a_Exists && !l_Exists && !v_Exists)
答案 3 :(得分:3)
你不是在比较价值,而是试图分配新的..它应该是这样的:
if(a_Exists == false && l_Exists == false && v_Exists == false)
{
all_Exists = false;
}
单=
分配
双==
比较
你也可以使用 not -operator !
而不是与false比较,如下所示:
if(!a_Exists && !l_Exists && !v_Exists)
{
all_Exists = false;
}
答案 4 :(得分:3)
if(a_Exists=false && l_Exists=false && v_Exists=false)
总是为false,因为您要将false
分配给a_Exists
,并且由于受让人将获得指定的值,因此表达式将如下:
if(false && l_Exists=false && v_Exists=false)
由于Short-circuit evaluation,将无法达到接下来的两个条件。
这就是为什么强烈建议(并且必须)写下来的原因:
if(!myBoolean)
而不是:
if(myBoolean == false)
答案 5 :(得分:3)
在Java和其他语言中,=
表示赋值。您想进行比较,这可以通过使用==
(double equals)来实现。
答案 6 :(得分:1)
如果你想把赋值与if-check结合起来,你应该用括号表示,但这不是一个好的风格:
boolean a_Exists , l_Exists, v_Exists, all_Exists;
if((a_Exists = true) && (l_Exists = false) && (v_Exists = true)){
all_Exists = true;
}