“=”、“==”、“!=”操作符,它们不仅能操作各种基本类型,还能操作各种引用类型。
“+”操作符不仅能操作除 boolean 类型以外的基本类型,还能操作 java.lang.String 类型。
整型操作符的操作元类型可以是byte、short、char、int 和 long。
在计算表达式,如果有一个操作元是 long 型,那么结果也是 long 型;否则不管操作元是 bype、short 或者 char型,运算结果都是 int 型。
一元操作符
“++” 和 “--” 操作符会改变所作用的变量本身的值,而“-” 和 “~”操作符并不改变变量本身的值。
二元操作符
二元操作符并不改变操作元的值,而是返回可以赋给其他变量的值。
1、数学运算操作符
“+”、“-”、“*”
“/”:当操作元都是整数时,“/”除法操作的运算结果为商的整数部分。
“%”:当操作元都是整数时,取模操作符“%”的运算结果为这个数除法运算的余数部分。
如果吧一个正数除以0 或者对 0 取模,程序就会抛出 ArithmeticException 运行时异常。
2、位运算操作符
Java 语言支持整数类型数据的位运算,位运算操作符包括:
·“&” —— 与运算,二元操作符,对两个操作元的每个二进制位进行与运算,运算符规则为:1&1=1,1&0=0,0&1=0,0&0=0
·“^” —— 异或运算,二元操作符,对两个操作元的每个二进制位进行异或运算,运算符规则为:1^1=0,1^0=1,0^1=0,0^0=0
·“|” —— 或运算,二元操作符,对两个操作元的每个二进制位进行或运算,运算符规则为:1^1=1,1^0=1,0^1=1,0^0=0
·“~” —— 取反运算,二元操作符,对两个操作元的每个二进制位进行取反运算,运算符规则为:~1=0,~0=1
·“>>” —— 算术右移位运算,二元操作符
·“>>>” —— 逻辑右移位运算,二元操作符
·“<<” —— 左移位运算,二元操作符
1) 算术右移位操作符“>>”
操作符“>>”进行右移位运算,也称做带符号右移位运算
int a1 = 12 >> 1; //变量 a1 的取值为6
int a2 = -12 >> 2; //变量 a1 的取值为-3
int a3 = 128 >> 2; //变量 a1 的取值为32
int a4 = 129 >> 2; //变量 a1 的取值为32
2) 逻辑右移位操作符“>>>”
也称为不带符号右移操作符,在移位的过程中,二进制数的开头增加的位都是0。
int a1 = 12 >>> 1; //变量 a1 的取值为6
int a2 = -12 >>> 2; //变量 a1 的取值为1073741821
3) 左移位操作符“<<”
操作符“<<”执行左位移运算
int a1 = 12 >> 1; //变量 a1 的取值为24
int a2 = -12 >> 2; //变量 a1 的取值为-48
int a3 = 128 >> 2; //变量 a1 的取值为512
int a4 = 129 >> 2; //变量 a1 的取值为516
结果:
-96
16
-1