运算符
- 算术运算符:+,-,*,/,%(取余/求模)
- 自增自减运算符:++,--
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!=,instanceof
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,>>,<<,>>>
- 条件运算符(三元运算符):? :
- 扩展赋值运算符:+=,-=,*=,/=
算术运算符
- +:加法运算符:
1.表示正数
2.表示算术的加法
3.表示字符串的拼接 - /:除法运算符:
1.如果是两个整数相除,那么结果还是一个整数
2.如果任意一个操作数是小数,那么结果就是小数 - %:取模运算符、取余运算符:获取两数相除的余数
1.注意事项:取余的结果的符号只和%前面的操作数的符号有关
2.作用:获取余数;判断是否整除;判断奇偶
自增自减运算符:
- ++:自增运算符
- 作用:在某个变量的基础上,自增1
- 注意事项:
1.自增运算符既可以写在变量的前面,也可以写在变量的后面
2.当a++和++a作为一个语句存在时,没有任何区别,都表示一个自增的动作
3.当a++和++a作为一个表达式存在时,有区别的,表示的数量的值是有去别的,a++是先获取a的值,然后再自增;++a是先自增,再获取a的值
赋值运算符
- 用于给变量进行赋值的运算符
- 分类:
基本的赋值运算符:=
扩展的赋值运算符:+= -= *= /= %= - 基本的赋值运算符
将赋值运算符右边的数量,赋值给左边的自变量 - 扩展的赋值运算符
将符号左右两边的数量进行算数运算,将结果赋值给符号左边的变量
比较运算符(关系运算符)
- 用于比较两个数据是否相等,比较两个数据的大小关系的运算符
- 分类:
== !=:可以比较任意的数据类型
< > >= <=:可以比较数值类型(整数类型、小数类型、字符类型) - 运算结果:
Boolean类型,true/false
逻辑运算符
- 用于处理逻辑值的运算符,就是逻辑运算符
- 处理的数据:逻辑值;处理的结果:逻辑值
- &:逻辑与。全真为真,否则为假(前面的表达式为假,后面的表达式也执行)
- &&:短路与。全真为真,否则为假(前面的表达式为假,则后面的表达式不执行)
- |:逻辑或。全假为假,否则为真(前面的表达式为真,后面的表达式也执行)
- ||:短路或。全假为假,否则为真(前面的表达式为真,则后面的表达式不执行)
- !:逻辑非。遇真为假,遇假为真
- ^ :逻辑异或。必须两个不同的结果才是true
位运算符
- 对于数据在内存中表示,进行按照位来移动,以此打到对数据进行运算的目的
- 说明:只能操作整数类型的数据,运算结果还是整数
- 罗列:<< >> >>> & | ^ ~
- "<<":左移运算符,每次移动一位,会将原来的数字扩大2倍
- ">>":右移运算符,每次移动一位,会将原来的数字缩小为原来的二分之一
- ">>>":无符号右移,每次移动一位,会将原来的数字缩小为原来的二分之一,这个运算符只能针对正数操作。效率高于右移运算符
- 总结特点:运算比直接乘以2或者除以2的效率要高很多
public class Demo {
public static void main(String[] args){
/*
* A = 0011 1100
* B = 0000 1101
* ---------------
* A&B = 0000 1100 如果两个都为1才为1
* A|B = 0011 1101 有一个1则为1
* A^B = 0011 0001 相同为0,相异为1
* ~B = 1111 0010 遇0为1,遇1为0
*/
int A = 0b00111100;
int B = 0b00001101;
System.out.println(Integer.toBinaryString(A & B));
System.out.println(Integer.toBinaryString(A | B));
System.out.println(Integer.toBinaryString(A ^ B));
System.out.println(Integer.toBinaryString(~B));
}
}
运行结果如下:

三元运算符(条件运算符)
- 元:可以操作的数据或者表达式
- 三元运算符:同时可以操作三个数据或者表达式的运算符
- 格式:
表达式1 ? 表达式2 : 表达式3 - 说明:
表达式1必须是boolean类型的表达式,计算的结果只能是true或者false
表达式2和表达式3可以是任意类型的表达式 - 运算流程
计算表达式1的值,要么为true,要么为false
如果表达式1的值为true,选择表达式2作为三元表达式的计算结果
如果表达式1的值为false,选择表达式3作为三元表达式的计算结果
运算符优先级
- ()
- !、-、++、--
- /、*、%
- +、-
- <<、>>、>>>
- <、<=、>、>=、instanceof
- ==、!=
- &
- ^
- |
- &&
- ||
- ?:
- =、+=、-=、*=、/=、%=、&=

浙公网安备 33010602011771号