|和||,&和&&

  |和&:按位或和与运算。会判断每一个条件的真伪。在再做运算。

  ||和&&:逻辑或和与运算。遇到第一个条件为true或者为false就不再判断后面的条件(会短路)

 1 public class test {
 2     public static void main(String[] args) {
 3         String s = null;
 4         if ((s != null) & (s.length() > 0)) {
 5             System.out.println("aaa");//报错:java.lang.NullPointerException
 6         }
 7         if ((s != null) && (s.length() > 0)) {
 8             System.out.println("bbb");
 9         }
10         if ((s == null) | (s.length() == 0)) {
11             System.out.println("ccc");//报错:java.lang.NullPointerException
12         }
13         if ((s == null) || (s.length() == 0)) {
14             System.out.println("ddd");//输出ddd
15         }
16     }
17 }
时间: 2024-10-20 21:44:59