运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。Java 中提供了丰富的运算符,如赋值运算符、算术运算符、比较运算符。
赋值运算符
赋值运算符以符号 "="
表示,它是一个二元运算符(对两个操作数做处理)。其功能是将右方操作数所含的值赋给左方的操作数。
int a = 10;
int b = 5;
int c = a + b; //将变量 a、b 运算后的结果赋给 c
在 Java 中可以把赋值运算符连在一起使用。
x = y = z = 5;
不建议这样写。
算术运算符
算术运算符主要有 加、减、乘、除、求余,它们都是二元运算符。
注意:进行除法运算时,0 不能做除数。
自增和自减运算符
自增和自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。
它们的作用:使变量的值增加1或者减少1.
记住一句话:
运算符在前:int a = 5;++a;
整体表达式的值为运算之后的值(6)
变量增或减1(6)
运算符在后:int a = 5;a++;
整体表达式的值为运算之前的值(5)
变量增或减1(6)
比较运算符
比较运算符属于二元运算符,用于程序中的变量之间、变量和自变量之间以及其他类型的信息之间的比较。比较运算符的运算结果是 boolean 型。
逻辑运算符
返回类型为布尔值的表达式,如比较运算符,可以被组合在一起构成一个更复杂的表达式,这是通过逻辑运算符来实现的。
位运算符
位运算符除 按位与
和 按位或
运算符以外,其他只能用于处理整数的操作数。位运算是完全针对位方面的操作,整型数据在内存中以二进制的形式表示,如 int 变量 7 的二进制表示是 00000000 00000000 00000000 00000111.
按位与
运算
“按位与”运算的运算符是 &
,为双目运算符。“按位与”运算的运算法则是:如果两个整型数据 a、b对应位都是1,则结果位才是1,否则为0.如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。
按位或
运算
“按位或”运算的运算符为 |
,为双目运算符。“按位或”运算的运算法则是:如果两操作数对应位都是0,则结果位才是0,否则为1.如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。
按位取反
运算
“按位取反”运算也称“按位非”运算运算符为~
,是单目运算符。“按位取反”就是将操作数二进制中的1修改为0,0修改为 1.
按位异或
运算
“按位异或”运算的运算符是 ^
,为双目运算符。“按位异或”运算的运算法则是:当两个操作数的二进制表示相同(同为1或0)时,结果为0,否则为1。若两个操作数的精度不同,则结果数的精度与精度高的操作数相同
移位操作
- 左移 <<
将运算符左边的操作数的二进制数据按照运算符右边操作数 - 右移 >>
- 无符号右移 >>>