从上到下优先级:
注意事项:
1、& 高于 |
boolean a = true; boolean b = false; boolean c = true; System.out.println(c|a&b);
如果相同优先级,从左到右的顺序,则结果是false,但&运算符优先,所以打印结果是true。
2、短路运算符&&、||
跟JavaScript一样,短路运算符如果前一个表达式已经可以判断出结果时,则不执行运算符后面的表达式。
c = false && n++==1; System.out.println("n is "+ n);
如果非短路运算,n++会被执行,则打印结果n=1。
但如果用短路&&运算,左边判断为false就可以得出c=false,后面的n++不会被执行,打印结果是n=0。