简化布尔表达式

时间:2015-10-02 20:10:15

标签: java boolean simplify

我有这段代码,eclipse告诉我布尔表达式可以简化。

    knightTurn == true && occupied ==true

    knightTurn == true

boolean knightTurn和boolean occupied在代码的前面都设置为false。

    boolean knightTurn=false

    boolean occupied=false

    @Tags({"passed"})
public void passed () 
{
    final int x = 50;
    if (knightTurn == true && occupied == true) {
        for (int i=0; i<x; i++) {
            standKnight.moveAvatar(i, 0);
            avatarEditor.refresh();
            i++;
        }
        occupied = false;
    }

}

@Tags({"failed"})
public void failed () {
    final int x = 35;
    if (knightTurn == true) {
        for (int i=0; i<x; i++) {
            standKnight.moveAvatar(i, i/2);
            avatarEditor.refresh();
            i++;
        }
        occupied =  false;
    }

代码仍然按预期运行,但如何整理这一点并使其更简单?

2 个答案:

答案 0 :(得分:3)

对于布尔值,您可以直接在表达式中使用它,而无需将其明确地计算为true。

 if (someBooleanVariable && someOtherBoolean){
    // run condition

 }

答案 1 :(得分:3)

 if (knightTurn == true && occupied == true)

可以写为

 if (knightTurn && occupied)

这也减少了犯这样的错误的可能性

if (knightTurn = true)