/* 练习 */
int num = 10;
boolean ret = num > 5 && num-- < 20 && num++ > 10;
ret = ?
num = ?
/*
解题步骤:
1. num > 5 :
10 > 5 ==> true
2. num-- < 20 :
10 < 20 ==> true num--
3. num++ > 10 :
9 > 10 ==> false num++
4. true && true && false
【结果】ret = false; num = 10
*/
【拓展】
int num = 6;
boolean ret = num > 5 && (num-- < 20 || num++ > 10);
ret = ?
num = ?
/*
解题步骤:
1. num > 5 : true
2. (num-- < 20 || num++ > 10) :
num-- < 20:10 < 20(T);6-1
[注]此时出现逻辑或运算符短路问题,克直接判定该小括号里的内容为true。|| 之后的不再运行,即下面的这些不再运行
num++ > 10: 5 > 10(F);5+1
3. true && true
【结果】ret = true; num = 5
*/
【总结】
在逻辑运算里,括号当一个整体,不具备优先级;在普通加减乘除运算里具有优先级。