与或非运算符,都是先计算符号左边的值,再计算右边的值;例如:5>2 && 3+9<10
先计算5>2,结果为true;再计算3+9<10,为false;最后计算true&&false,结果为false。
1.与运算(长路&、短路&&),当符号两边的值都为true时,结果才为true,否则为false
1.1、长路&
当 & 左边的值为false时,仍然会计算&右边的值。例如:3+9<10 & 5>2
先计算3+9<10,结果为false;再计算5>2,结果为true;最后计算 false & true,结果为false
1.2、短路&&
当 && 左边的值为false时,直接返回false,不再对右边的表达式计算。例如:3+9<10&& 5>2
先计算3+9<10为false,那么将直接返回false,不再对右边的5>2进行计算
2、或运算(长路|、短路||),当符号两边,只要有true,那么整个表达式的值为true,否则为false
2.1、长路|
当 | 左边的值为true时,没有直接返回true,而是计算 | 右边的值,然后再返回true。例如:5>2 | 3+9<10
先计算左边:5>2,结果为true;再计算右边3+9<10,结果为false;最后计算:true | false,结果为true
2.2、短路||
当 || 左边的值为true时,直接返回true,不再对 || 右边进行计算。例如:5>2 || 3+9<10
先计算左边:5>2,结果为true,直接返回true,不再对右边进行计算
3、非运算(!)
返回与计算结果相反的值
优先级:非与或