Java语言常用的运算符和表达式详解
2019/03/14 12:18:10 来源:Linux社区 作者:Linux

 

Java提供了丰富的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等等。Java的表达式就是用运算符连接起来的符合Java规则的式子。运算符的优先级决定了表达式中运算执行的先后顺序。在编写程序时尽量的使用括号()运算符号来实现想要的运算次序,以免产生难以阅读或含糊不清的计算顺序。运算符的结合性决定了并列的相同级别运算符的先后顺序。

 

算术运算符

 

1.加减运算符:  +,-

 

加减运算符是二目运算符;加减运算符的结合方向是从左到右;加减运算符的操作元是整型或浮点型数据,加减运算符的优先级是4级。

 

2.乘、除和求余运算符: *,/,%

 

以上运算符是二目运算符,结合方向是从左到右,乘、除和求余运算符的操作元是整型或浮点型数据。运算符的优先级是3级。

 

3.算术表达式

 

用算术符号和括号连接起来的符合java语法规则的式子,称为算术表达式

 

4.自增自减运算符:++,--

 

是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。作用是使变量的值增1或减1,如:

 

++x(--x)表示在使用x之前,先使x的值增(减)1。

 

x++(x--)表示在使用x之后,使x的值增(减)1。

 

运算精度

 

精度从“低”到“高”排列的顺序是:

 

byte  short  char  int  long  float  double

 

Java在计算算术表达式的值时,使用下列计算精度规则:

 

1.如果表达式中有双精度浮点数(double型数据),则按双精度进行运算。

 

2.如果表达式中最高精度是单精度浮点数(float型数据),则按单精度进行运算。

 

3.如果表达式中最高精度是long型整数,则按long精度进行运算。

 

4.如果表达式中最高精度低于int型整数,则按int精度进行运算。

 

关系运算符

 

关系运算符是二目运算符,用来比较两个值的关系。关系运算符的运算结果是boolean型,当运算符对应的关系成立时,运算结果是true,否则是false。

 

逻辑运算符

 

逻辑运算符包括:&&,||,!

 

其中&&、||为二目运算符,实现逻辑与、逻辑或。

 

!为单目运算符实现逻辑非。

 

逻辑运算符的操作元必须是boolean型数据,逻辑运算符可以用来连接关系表达式。

 

位运算符

 

在实际Java中位运算符用的比较少

 

两个整型数据实施位运算,即对两个整型数据对应的位进行运算得到一个新的整型数据。

 

1.按位与”运算

 

“按位与”运算符“&”是二目运算符。

 

2.按位或”运算

 

“按位或”运算符:“|”是二目运算符。

 

3.按位非”运算

 

“按位非”运算符:“~”是单目运算符。

 

4.按位异或”运算

 

“按位异或”运算符:“^”是二目运算符。

 

其他

 

1、赋值运算符和赋值表达式:=

 

赋值运算符是二目运算符,左面的操作元必须是变量,不能是常量或表达式。

 

赋值运算符的优先级较低,是14级,结合方向右到左。

 

赋值表达式的值就是“=”左面变量的值。

 

注意:不要将赋值运算符“=”与关系运算符“==”混淆。

 

2、instanceof运算符

 

instanceof 运算符是二目运算符,左面的操作元是一个对象;右面是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符运算的结果是true ,否则是false。

 

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-03/157485.htm


6

本栏最新