一:概括.
java中的运算符包括三个:逻辑运算符,赋值运算符,三元运算符.
第一节:逻辑运算符.
1.逻辑运算符有五个分别是:与(&),或(|),非(!),异或(^),短路与(&&),短路或(||),逻辑运算符用于对boolean类型操作,其结果依然是个boolean类型,如下表示.
符号 运算 范例 结果
& 与 true&true true
true&false false
false&true false
false&false false
| 或 true&true true
false&true true
true&false true
false&false false
! 非 !true false
!false true
^ 异或 true^true false
true^false true
false^true true
true^true false
&& 短路与 true&true true
true&false false
false&true false
false&false false
|| 短路或 true&true true
false&true true
true&false true
false&false false
2.其中值得注意的是&和&&与|和||的运算结果相同,但是&和|运算时不管运算结果如何,左右两边的表达式都要运行一次,二短路与(&&)运算时,如果前一个表达式是false后一个表达式将不再运算,而短路或(||)运算时,如果前一个表达式结果是true时,后面表达式将不再做运算.
比如:(表达式1)&(表达式2):当表达式1为false时,虽然已经可以确定整个运算结果是false但是表达式2依然还要运算一次.
(表达式1)&&(表达式2):当表达式1为false时,已经可以确定整个运算结果是false了,所以表达式2不再运行.
(表达式1)|(表达式2):当表达式1为true时,虽然已经可以确定整个运算结果是false但是表达式2依然还要运算一次. (表达式1)&&(表达式2):当表达式1为true时,已经可以确定整个运算结果是false了,所以表达式2不再运行.
3:位运算符.
位运算符包括:按位与(&),按位或(|),按位异或(^),取反(~),左移(<<),右移(>>),无符号右移(>>>).它们的用法是为在二进制单位中的两个数进行比较:
&: 有0则0: 0&0=0,0&1=0,1&0=0,1&1=1;
|: 有1则1: 0|0=0,0|1=1,1|0=1,1|1=1;
~: 按位取反: ~0=1,~1=0;
^:相同则0不同则1:0^0=1,0^1=1,1^0=1,1^1=0;
<<: 左边最高位丢弃,右边补0;
>>: 最高位是0,左边补0; 最高位是1,补齐1.
>>>:无论最高位是1还是0,左边都补齐0.
其中左移几位其结果就是,移动几位其乘以2的几次幂.
右移时,移动几位就是其除以2的几次幂.
第二节:赋值运算符
赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量.它们都表示一个符号:(+=,-=,*=,/=,%=):
它们都表示 :运算结果是左边(加,减,乘,除,取模)右边的数再等于左边.
比如 int i=5;
i+=5; 其结果就是 i=i+5;
第三节:三元运算符.
三元运算符的格式为:(关系表达式)?表达式1:表达式2;
其运算流程为,如果关系表达式成立,那么值为表达式1,如果不成立则为表达式2.