Java运算符优先级

简介: Java学习笔记

当我们对编程有一定的理解后,我们可以知道代码是一步一步执行的,但是,当多个运算符出现在一个表达式中,这样应该怎么运算呢?在数学中,我们都是先算括号,然后算乘除,再算加减,不同的运算符号有不同的优先级。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果差别甚大。在Java语言中,其运算符优先级如下图表示,优先级从1开始:

优先级 运算符 结合性
1 ()、[]、{} 从左向右
2 !、+、-、~、++、-- 从右向左
3 *、/、% 从左向右
4 +、- 从左向右
5 «、»、>>> 从左向右
6 <、<=、>、>=、instanceof 从左向右
7 ==、!= 从左向右
8 & 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 ?: 从右向左
14 =、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>= 从右向左
优先级 运算符 结合性


其实在实际的开发中,不需要去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方可以使用小括号去进行替代:

inta=1;
intb=a<<1+2;
// 比较友好的写法↓intb=a<< (1+2);

这样书写代码,更方便编写代码,也便于代码的阅读和维护。

比较复杂的条件语句,建议分割成不同的命名含义,这样对其他人来说比较友好。

相关文章
|
2天前
|
Java
探索Java世界的奇妙工具——运算符与表达式运算符
探索Java世界的奇妙工具——运算符与表达式运算符
8 0
|
2天前
|
Java
Java 运算符
4月更文挑战第8天
|
2天前
|
小程序 Java 容器
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
10 0
|
2天前
|
Java
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
7 0
|
2天前
|
Java C语言
java中8种基本类型与运算符
java中8种基本类型与运算符
14 3
|
2天前
|
Java
Java一分钟之运算符与表达式初探
【5月更文挑战第7天】本文介绍了Java中的主要运算符,包括算术、比较、逻辑、位、赋值和条件运算符。讨论了类型转换、运算顺序和逻辑短路等常见问题,并提供了避免错误的建议。通过代码示例展示了运算符的使用,强调理解运算符对于编写高效Java代码的重要性。
23 0
Java一分钟之运算符与表达式初探
|
2天前
|
存储 Java 数据安全/隐私保护
【Java探索之旅】运算符解密 位运算,移位运算
【Java探索之旅】运算符解密 位运算,移位运算
22 0
|
2天前
|
算法 Java
【Java探索之旅】运算符解析 算术运算符,关系运算符
【Java探索之旅】运算符解析 算术运算符,关系运算符
23 0
|
2天前
|
Java
JAVA运算符应用与实践
JAVA运算符应用与实践
16 1
|
2天前
|
存储 Java
Java语言--->数据类型转化以及运算符
本文讲述了Java中的基本数据类型转换和运算符。在转换中,布尔型除外的8种类型可通过默认或强制转换相互转化,如`byte-&gt;short-&gt;int-&gt;long-&gt;float-&gt;double`。默认转换发生在不同类型运算时,系统会转为更大容量类型。强制转换可能引起精度损失或溢出。运算符包括算术(如+可做加法或字符串拼接)、比较、逻辑和赋值运算符。比较运算符如`==`、`&lt;`等产生`boolean`结果,逻辑运算符`&&`、`||`具有短路效应。赋值运算符如`+=`简化了赋值过程。运算符的优先级也进行了简要说明。