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

Java如何拥有if语句。(代码流),java,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(

如果您有一个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;

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

在Java中,
&&
''-也就是说,当它沿着它正在计算的条件进行时,它会在第一个“false”条件下跳出

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

实际上

if (a) {
    if (b) {
        //stuff
    }
}
是同一件事吗

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

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