【问题标题】:how does Java posses if statements. (Code flow) [duplicate]Java如何拥有if语句。 (代码流)[重复]
【发布时间】:2018-04-06 19:32:55
【问题描述】:

如果你有一个 if(boolean && otherBoolean) 语句,并且第一个布尔值是假的,Java 会检查 otherBoolean 吗? 我在想的是这样的:

if( text.length()>=4 && text.subString(0,4).equals("~yay") ){ 
//do stuff
}

因为 subString 方法会在文本少于 4 个字符时抛出错误,所以我觉得我需要两个 if 语句

if(text.length()>=4){
  if(text.subString(0,4).equals("~yay"){
   //do stuff
}}

但是这样做是非常无效的。 我想我可以写一个方法,比如

public boolean beginsWith(String text, String replace){
   if(replace.length()>text.length()){return false;)
   if(text.subString(0,replace.length()).equals(replace)){return true;} 

   return false;

我知道我可以使用它,但我真的只是想知道我是否可以使用第一个选项。

【问题讨论】:

  • 代码可以简单得多:if(text.startsWith("~yay"))

标签: java


【解决方案1】:

其实

if (a) {
    if (b) {
        //stuff
    }
}

是一样的

if (a && b) {
    //stuff
}

如果a 为假,调试器将停止验证。 但在更复杂的语句中,你应该小心使用短路。

【讨论】:

    【解决方案2】:

    在 Java 中,&& 'short-circuits' - 也就是说,当它沿着它正在评估的条件进行时,它会在第一个 'false' 条件处跳出。

    因此,您的语句将是安全的,因为您需要至少有四个字符才能使您的代码达到第二个条件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-09
      • 2022-01-28
      • 2012-11-04
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2022-01-22
      相关资源
      最近更新 更多