三、Java的运算符

三、运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

3.1、算术运算符

+ - * / % (前)++ (后)++ (前)-- (后)-- +
 
% :取余运算
结果的符号与被模数的符号相同
开发中,经常使用%来判断能否被除尽的情况

3.2、赋值运算符

注意:s2 += 2; 不会改变变量本身的数据类型

short s1, s2;
s1 = s2 =10;
s1 = s1+2;//编译失败
s2 += 2;//不会改变变量本身的数据类型
System.out.println(s2);

3.3、比较运算符

(关系运算符)

运算符 运算 范例 结果
== 相等于 4==3 false
!= 不等于 4!=3 true
< 小于 4<3 false
> 大于 4>3 true
<= 小于等于 4<=3 false
>= 大于等于 4>=3 true
instanceof 检查是否是类的对象 "Hello" instanceof String true

比较运算符的结果都是boolean型,也就是要么是true,要么是false。

比较运算符“==”不能误写成“=”。

3.4、逻辑运算符

逻辑运算符只适用于boolean类型的变量。

  • &:逻辑于

  • &&:短路于

  • |:逻辑或

  • ||:短路或

  • !:逻辑非

  • ^:逻辑异或两个相等为 false;两个不相等为:true

  1. 区分 & && 相同点1:& 与 && 的运算结果相同 相同点2:当符号左边为 true 时,二者会继续执行符号右边的运算 不同点:当符号左边为 false 时,&会继续执行符号右边的运算,&&不再执行右边的运算(被短路)。

  2. 区分 | 与 || 相同点1:| 与 || 的运算结果相同 相同点2:当符号左边为 false 时,二者会继续执行符号右边的运算 不同点:当符号左边为 true 时,|会继续执行符号右边的运算,||不再执行右边的运算(被短路)。

a b a&b a&&b a|b a||b !a a^b
true true true true true true false false
true false false false true true false true
false true false false true true true true
false false false false false false true false

3.5、位运算符

结论:“左乘右除“

① 位运算符操作的都是整型的数据;

② <<在一定范围内,每向左移一位,相当于 *2;

③ >>在一定范围内,每向右移一位,相当于 / 2.

位运算符的细节
<< 空位补0,被移除的高位丢弃,空缺位补0
>> 被移除的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1
>>> 被移位二进制最高位无论是0或者是1,空缺位都用0补
& 二进制位进行&运算,只有1&1时结果是1,否则是0
| 二进制位进行|运算,只有0|0时结果是0,否则是1
^ 相同二进制位进行^运算,结果是0;1^1=0,0^0=0 .不相同二进制位^运算结果都是1;1^0=1 , 0^1 =1
~ 正数取反,各二进制码按补码各位取反; 负数取反,各二进制码按补码各位取反;

3.6、三元运算符

1.结构:(条件表达式)?表达式1:表达式2 2.说明

条件表达式的结果为 boolean类型

② 根据条件表达式真或假,决定执行表达式1.还是表达式2. 如果表达式为true,则执行表达式 1; 如果表达式为false,则执行表达式 2;

③ 表达式1 和 表达式2 要求是一致的。

④ 三元运算符可以嵌套使用

⑤ 凡是可以使用三元运算符的地方,都可以改写为if-else, 反之,不成立。

//获取两个整数的较大值
int m = 2;
int n =12;
int max = (m > n) ? m : n;
System.out.println(max);

猜你喜欢

转载自blog.csdn.net/Miss_croal/article/details/131609680
今日推荐