|和&:按位或和与运算。会判断每一个条件的真伪。在再做运算。
||和&&:逻辑或和与运算。遇到第一个条件为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