我正在用JAVA编写程序,需要更改一个布尔值,但无法修复它。
布局如下
while(statement){
Boolean behind = true;
if (behind == true){
do something
behind = false;
}
if (behind == false){
do something else
behind = true;
}
}
所以基本上我的程序需要迭代“做某事”和“做某事”。但是我认为if语句不会改变我的布尔值背后的含义,因为背后的“版本”仅存在于语句中。关于如何解决这个问题的任何建议?
在while块之前定义布尔值。
Boolean behind = true;
while(statement){
if (behind == true){
do something
behind = false;
}
if (behind == false){
do something else
behind = true;
}
}
var == true/false
。这可能会降低性能并使代码不清楚。使用var
代替var == true
,并使用!var
代替var == false
。else
语句而不是检查条件的相反项。if (behind) {
//...
behind = false;
} else {
//...
behind = true;
}
3. **Define the boolean outside `while`.**
这也解决了您的问题,因为您无需“重新检查”变量。