Java零基础30-运算符优先级

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shilishili/article/details/88528826

阅读完后:

  • 什么是运算符优先级【掌握】
  • 什么是圆括号【掌握】

前言

我们开始学习 Java 中的运算符优先级。

什么是运算符优先级

运算符是一种特定的操作,在一个表达式上,可能会存在多个运算操作,我们就需要了解这些运算符的优先级别。

根据优先级顺序我们列出了所有的运算符,表格如下:

优先级 运算符 描述
1 .(引用号)
()
[]
句点(.)用来访问对象和类中的方法和变量;
圆括号(())用来将表达式分组;
方括号([])用于数组;
2 +、-
~
++、–
!
instaceof
正负号
位逻辑运算符
递增与递减运算符
逻辑非
instanceof 运算符返回 true 或 false,这取决于该对象是否属于指定的类或其子类的一个实例
3 *、/、% 乘法、除法、取余
4 +、- 加法、减法
5 >>、>>>、<< 移位运算符
6 <、>、>=、<= 比较运算符
7 ==、!= 相等、不相等
8 & 按位与运算符(AND)
9 ^ 按位异或运算符(XOR)
10 | 按位或运算符(OR)
11 && 逻辑与运算符(逻辑 AND)
12 || 逻辑或运算符(逻辑 OR)
13 ? : 三元运算符
14 =、+=、-=、*=、/=、%= 赋值运算符

上面表格中列出的运算符越靠近顶端,运算符的优先级别越高,优先级较高的运算符先进行计算,相对较低的后计算。

当表达式中的运算符出现优先级相同时,左边的要比右边的先被计算,排在越前面的运算符的优先级越高。特别注意的,赋值运算符从右到左计算的。

根据上面优先级表格,除法运算符的优先级高于减法运算符的优先级,首先计算除法后再计算减法。示例代码如下:

int x =  10 - 6 / 2;
System.out.println(x);		// 输出 7

根据上面优先级表格,两个运算符的优先级相同,则左边的比右边的先被处理。示例代码如下:

int y = 10 - 6 + 2;	
System.out.println(y);		// 输出:6

圆括号

圆括号是处理表达式中运算符的优先级,如果要改变表达式计算值的顺序,可以使用圆括号将需要先计算的表达式括起来。

圆括号还可以提高表达式的可读性,如果不能一眼看出表达式的优先级,可以添加圆括号来强制转换为希望的优先级,使语句更容易理解。

根据上面优先级表格,圆括号优先级顺序最高,此时运算符优先级的顺序发生了变化,括号里面的表达式先被计算,最后再计算减法运算符。
示例代码如下:

int z = 10 - (6 + 2);
System.out.println(z);		// 输出 2

在本章我们学习了:

  • 运算符优先级就是运算符在计算过程中哪个先被处理
  • 根据运算符的执行顺序列出了运算符的优先级列表
  • 圆括号可改变表达式计算值的顺序

接下来,我们开始学习 Java 表达式与语句:Java零基础31-表达式与语句

猜你喜欢

转载自blog.csdn.net/shilishili/article/details/88528826
今日推荐