使用在if语句中更改的变量

问题描述 投票:-2回答:2

我正在用JAVA编写程序,需要更改一个布尔值,但无法修复它。

布局如下

while(statement){
    Boolean behind = true;

    if (behind == true){
        do something
        behind = false;
        } 

    if (behind == false){
        do something else
        behind = true;
        }
}

所以基本上我的程序需要迭代“做某事”和“做某事”。但是我认为if语句不会改变我的布尔值背后的含义,因为背后的“版本”仅存在于语句中。关于如何解决这个问题的任何建议?

java if-statement variables boolean global-variables
2个回答
0
投票

在while块之前定义布尔值。

Boolean behind = true;
while(statement){

    if (behind == true){
        do something
        behind = false;
        } 

    if (behind == false){
        do something else
        behind = true;
        }
}

0
投票
  1. 请勿使用var == true/false这可能会降低性能并使代码不清楚。使用var代替var == true,并使用!var代替var == false
  2. 使用else语句而不是检查条件的相反项。
if (behind) {
    //...
    behind = false;
} else {
    //...
    behind = true;
}
3. **Define the boolean outside `while`.**

这也解决了您的问题,因为您无需“重新检查”变量。

© www.soinside.com 2019 - 2024. All rights reserved.