先来看如下代码一:
String str = "12";
if(str.length()<5 || !str.substring(0,3).equals("780")) System.out.println("网点号不符合规范");
执行结果是:
网点号不符合规范
再来看如下代码二:
String str = "12";
if(!str.substring(0,3).equals("780")) System.out.println("网点号不符合规范");
执行结果是:
java.lang.StringIndexOutOfBoundsException: String index out of range: 3
Process finished with exit code -1
于是,我们可以得出以下结果:
java的“或”是顺序执行的,如果第一个条件已经达到可以判断整个表达式的效果,那么剩余的条件就不会执行了(否则代码一也会报StringIndexOutOfBoundsException)