非短路: (a>b) & (d<c) 不管结果两边都要去判断
短路 : (a>b) && (d<c) 如果a>b为假 就不去判断d<c
非短路: (a>b)|(d<c) 两边都要去判断
短路 : (a>b)||(d<c) 如果a>b为真 就不用判断后边 表达式结果就为真。
&和&&
1 运算结果一定相同
2 当符号左边为true时 &和&& 右边都会执行
当符号左边为false时,&右边执行 && 右边不执行
&&遇false则false 才会短路
|和||
1 运算结果相同
2 当符号左边为true时, | 右边执行 ||右边不执行
当符号左边为false时,|和 || 右边都会执行
||遇到true则true 才会短路