如何在同一语句中创建if语句比较boolean和string?

时间:2015-03-12 05:45:15

标签: java

如何将两个变量(boolean和string)合并到一个if语句中?我能做的就是:

if (shop[i].getLot() == true) { 
    totalrenters += 1;
}

然后我完全是空白。如何让if .getString(“double”)与语句中的.getLot一起使用,以便它可以计算并显示租用者的信息?

4 个答案:

答案 0 :(得分:1)

您可以执行此操作,但在if语句中使用&&,如

if (shop[i].getLot() && shop[i].getStorey("single")) {
    System.out.println ("Hey, this is a single storey corner shop");
}

答案 1 :(得分:1)

您可以将多个布尔测试与&&组合使用或||。在你的情况下

if (shop[i].getLot()  &&
    "double".equals(shop[i].getStorey())) {
        totalRenters++;
    }

答案 2 :(得分:0)

请记住,整个if语句最后会查找一个布尔表达式。也就是说,如果要在if块内执行任何操作,那么这些括号之间的任何内容都必须求值为true

现在,问你的问题。如果你说getLot()表示它是否是一个角落,那么你就在那里。

if(shop[i].getLot()) {
    // logic
}

您可以省略== true部分;你只是在那时将布尔值与布尔值进行比较,这是不必要的。

我们接下来要添加字符串条件。我会使这个过于简单,但有更聪明的方法可以做到这一点,比如正则表达式。

如果我们说存在返回getStorey()的方法String,那么我们可以检查该特定字符串是否等于" double"。您可以使用逻辑AND(&&)运算符组合多个布尔条件。

if(shop[i].getLot() && "double".equals(shop[i].getStorey())) {
    // increment a counter here
}

答案 3 :(得分:0)

请尝试以下操作:

if (( "double".equals(shop[i].getStorey() ) && ( shop[i].getLot() )) {
            totalRenters++;
        }

注意:shop[i].getLot()返回true|false因此直接作为if(true|false)

工作

您可以根据您的要求在if statement添加条件

<强>例如

String name = "Hello"
boolean isTrue = true;
  

&&中使用if statement

     

如果你想做某事(姓名为Hello and isTrue = true)

     

if("Hello".equals(name) && isTrue)


  

||中使用if statement

     

如果你想做某事(姓名为Hello or isTrue = true)

     

if("Hello".equals(name) || isTrue)