前言
运算符是咱们Java语言的基础,要掌握,很多笔试的题就出在这上面
1 算数运算符
(+)(-)(*)(/)加减乘除
没什么好说的
% 求余
7%5 ----2
7%-5 ----(2)
-7%5 ----(-2)
-7%-5 ----(-2)
总结 :求余时 负号跟着被除数走。
2 递增、递减
++放前面 先+1 再取值
++放后面 先取值 再+1,递减同理
比如i++;i在前面,先取值
这个多写几串代码试试就好
3 逻辑运算符
1.&
逻辑与 a&b 表达式a或b中有一个为false 则为false
2.&&
短路与 a为false b则不参与运算 常用
3.|
逻辑或 a|b 表达式a或b中有一个为true 则为true
4.||
短路或 a为true 则b不参与运算 常用
5.^
逻辑异或 a|b 表达式a与表达式b两者的值相同 则为fasle 不同为true
6.!
逻辑非 取反
注意:逻辑运算符的返回值是boolean类型
一定弄清逻辑和短路的区别,正确使用
4 赋值运算符
= 运算顺序是从右至左 int a = 0;
+= a+=1 a = a+1;
-= 同上
*= 同上
/= 同上
5 关系运算符
(> >= 大于 大于等于)
(< <= 小于 小于等于)
(== 恒等 用于判定两个基本数据类型的值是否相同)
(!= 不等)
6 三目运算符
X?Y:Z
表达式X的值
如果为true则执行表达式Y
如果为false 则执行表达式Z
可以用于替代if选择分支语句结构。
7 位运算和移位运算
运算结果 ---- 数字
位运算和移位运算都要在二进制的基础之上运算
1.&
按位与 两位都为1时结果才为1 有一个位0都落0
2. |
按位或 一个位1都为1
3. ^
按位异或
两位相同为0 相异为1
4.~
取反
正整数的二进制 可以通过运算来获得 负数的二进制应该如何运算:
5.>> 右移
各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移)
右移特点 数字越来越小 移位是除以2的多少次幂
6.<< 左移
左移特点 数字越变越大,移位是多少就是乘以2的多少次幂 左移时不分正负
如果是整数 正常补0
如果是负数 则用整数的补码进行运算
7.>>> 无符号右移
逻辑右移 不会因为符号位进行 所有高位均补0。
写在最后
这写还是比较简单的,一定要搞懂进制转换,负数的反码,补码这些,计算的时候细心一点