如果语句,Java如何拥有。 (代码流)

时间:2018-04-06 19:32:56

标签: java

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

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

因为如果文本长度小于4个字符,则subString方法将抛出错误,我觉得我需要有两个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;

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

由于

顺便说一句,如果我弄乱了方法名称或其他东西,只需编辑它。我在打电话,所以无法查看我的代码。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

实际上

TestHiveContext

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

如果if (a && b) { //stuff } 为false,调试器将停止验证。 但是在更复杂的陈述中,你应该小心使用短路。