// Java运算符优先级由高到低示例代码
public class OperatorPrecedenceExample {
public static void main(String[] args) {
int a = 5;
int b = 3;
int c = 2;
int d = 4;
boolean result;
// 1. 后缀递增、递减 (x++, x--)
// 2. 前缀递增、递减 (++x, --x)
// 3. 一元运算符 (+x, -x, !, ~)
// 4. 乘法、除法、取模 (*, /, %)
// 5. 加法、减法 (+, -)
// 6. 移位运算符 (<<, >>, >>>)
// 7. 关系运算符 (<, >, <=, >=, instanceof)
// 8. 等于和不等于 (==, !=)
// 9. 逻辑与 (&&)
// 10. 逻辑或 (||)
// 11. 条件运算符 (? :)
// 12. 赋值运算符 (=, +=, -=, *=, /=, %=, <<=, >>=, >>>=, &=, ^=, |=)
// 示例表达式:a + b * c - d
// 根据运算符优先级,先计算乘法,再计算加法和减法
int expressionResult = a + b * c - d;
System.out.println("Expression Result: " + expressionResult); // 输出结果为 9
// 示例表达式:(a + b) * (c - d)
// 使用括号改变优先级,先计算括号内的加法和减法,再计算乘法
int expressionResultWithParentheses = (a + b) * (c - d);
System.out.println("Expression Result with Parentheses: " + expressionResultWithParentheses); // 输出结果为 -16
// 示例表达式:a == b || a != c && d > 0
// 根据运算符优先级,先计算关系运算符,再计算逻辑与,最后计算逻辑或
result = a == b || a != c && d > 0;
System.out.println("Boolean Expression Result: " + result); // 输出结果为 true
// 示例表达式:a == (b || a != c && d > 0)
// 使用括号改变优先级,先计算括号内的逻辑表达式
result = a == (b || a != c && d > 0);
System.out.println("Boolean Expression Result with Parentheses: " + result); // 输出结果为 false
}
}
x++
, x--
) 和 前缀递增、递减 (++x
, --x
) 是一元运算符,具有最高的优先级。*
, /
, %
) 的优先级高于 加法、减法 (+
, -
)。<<
, >>
, >>>
) 的优先级低于算术运算符。<
, >
, <=
, >=
, instanceof
) 的优先级低于移位运算符。==
, !=
) 的优先级低于关系运算符。&&
) 的优先级低于等于和不等于。||
) 的优先级低于逻辑与。? :
) 的优先级低于逻辑或。=
, +=
, -=
, *=
, /=
, etc.) 的优先级最低。通过上述代码示例,可以看到不同运算符的优先级如何影响表达式的计算顺序。
上一篇:java读取配置文件
下一篇:java字符串转map
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站