java 中常用的基本运算符和不大常用的运算符整理分类
目录
一、基本运算符
一元运算符
二元运算符
三元运算符
二、赋值运算符
三、关系运算符
四、位逻辑运算符
五、运算符优先级
一、基本运算符
基本运算还分三种
一元运算符
算术一元运算一共有 3 个,分别是 -、++ 和 --。
- 取反符号 取反运算 b=-a
++ 自加一 先取值再加一,或先加一再取值 a++ 或 ++a
-- 自减一 先取值再减一,或先减一再取值 a-- 或 --a
int a=2;
int b=-2;
System.out.println(a);//2
System.out.println(-a);//-2
System.out.println(a==-a);//false
System.out.println(b==-a);//true
二元运算符
加(+)、减(-)、乘(*)和除(\)外,还有取模运算(%)。
加(+)、减(-)、乘(*)、除(\)和我们平常接触的数学运算具有相同的含义
三元运算符
由?:符号表示的,
具体的含义其实就和if-else结构的含义差不多,
这种运算符会将某个条件作两种处理,如果满足条件的话就执行第一个结果,如果不满足的话就执行另外一个结果,
int A,B,C; A=2; B=3; C=A>B ? 100 :200;
System.out.println(C);//200
二、赋值运算符
赋值运算符的优先级低于算术运算符,结合方向是自右向左;
不是数学中的等号,它表示一个动作,
即将其右侧的值送到左侧的变量中(左侧只允许是变量,不能是表达式或其他形式);
int x, y, z; // 定义3个整型的变量
x = y = z = 5; // 为变量赋初值为5
x += 10; // 等价于x=x+10,结果x=15(加等)
y -= 3; // 等价于y=y-3,结果y=2(减等)
z *= 5; // 等价于z=z*5,结果z=25(乘等)
x /= 4; // 等价于x=x/4,结果x=3(除等)
z %= x; // 等价于z=z%x,结果z=1(模等)
三、关系运算符
运算符 | 含义 | 说明 | 实例 | 结果 |
> | 大于运算符 | 只支持左右两边操作数是数值类型。如果前面变量的值大于后面变量的值, 则返回 true。 | 2>3 | false |
>= | 大于或等于运算符 | 只支持左右两边操作数是数值类型。如果前面变量的值大于等于后面变量的值, 则返回 true。 | 4>=2 | true |
< | 小于运算符 | 只支持左右两边操作数是数值类型。如果前面变量的值小于后面变量的值,则返回 true。 | 2<3 | true |
<= | 小于或等于运算符 | 只支持左右两边操作数是数值类型。如果前面变量的值小于等于后面变量的值, 则返回 true。 | 4<=2 | false |
== | 相等运算符 | 如果进行比较的两个操作数都是数值类型,无论它们的数据类型是否相同,只要它们的值不相等,也都将返回 true。 如果两个操作数都是引用类型,只有当两个引用变量的类型具有父子关系时才可以比较,只要两个引用指向的不是同一个对象就会返回 true。 Java 也支持两个 boolean 类型的值进行比较。 | 4==4 97=='a' 5.0==5 true==false | true true true false |
!= | 不相等运算符 | 如果进行比较的两个操作数都是数值类型,无论它们的数据类型是否相同,只要它们的值不相等,也都将返回 true。 如果两个操作数都是引用类型,只有当两个引用变量的类型具有父子关系时才可以比较,只要两个引用指向的不是同一个对象就会返回 true。 | 4!=2 | true |
四、位逻辑运算符
位逻辑运算符,使用比较少
位逻辑运算符包含 4 个:&(与)、|(或)、~(非)和 ^(异或)。
除了 ~(即位取反)为单目运算符外,其余都为双目运算符
//按位进行与运算(AND)
System.out.println(4&5);//4
//按位进行或运算(OR)
System.out.println(4|5);//5
// 按位进行异或运算(XOR)
System.out.println(4^5);//1
//按位进行取反运算(NOT)
System.out.println(~5);//-6
五、运算符优先级
一般而言,单目运算符优先级较高,赋值运算符优先级较低。
算术运算符优先级较高,关系和逻辑运算符优先级较低。
多数运算符具有左结合性,
单目运算符、三目运算符、赋值运算符具有右结合性。