提供了丰富的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等等。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。