运算符介绍
运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。运算符按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符和其他运算符。
Java运算符分类
算数运算符
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。
自增自减运算符
自增(++)自减(–)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。
- 前缀自增自减法(++a,–a): 先进行自增或者自减运算,再进行表达式运算。
- 后缀自增自减法(a++,a–): 先进行表达式运算,再进行自增或者自减运算
关系运算符
下图中为Java支持的关系运算符(关系运算符返回的都是boolean值):
位运算符
Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。
位运算符主要是针对整型数据类型的二进制值进行操作的运算符,因为它是直接操作的二进制值所以他的执行效率非常高,远超于普通的加减乘除运算,但是缺点也很明显:比较难理解,可读性也很差。所以一般在开发中我们很少会用到。
假设A = 60,B = 13
逻辑运算符
逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。
赋值运算符
赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。
三目运算符
条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
三元运算符格式:数据类型 变量名= 布尔类型表达式?结果1:结果2
三元运算符计算规则:
布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
instanceof 运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
( Object reference variable ) instanceof (class/interface type)
如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。
Java运算符优先级
当多个运算符出现在一个表达式中,谁先谁后呢?
运算符的优先级决定了表达式中运算执行的先后顺序。通常优先级由高到低的顺序是:
- 增量和减量运算
- 算数运算
- 位运算
- 比较运算
- 逻辑运算
- 赋值运算
下图中具有最高优先级的运算符在的表图的最上面,最低优先级的在图的底部。