Java运算符(有眼就会)

算术运算符

取余运算

结果的符号和被模数的符号相同

int m1 = 12;
int n1 = 5;
System.out.println(m1 % n1)	//2
    
int m2 = -12;
int n2 = 5;
System.out.println(m2 % n2)	//-2
    
int m3 = 12;
int n3 = -5;
System.out.println(m3 % n3)	//2
    
int m4 = -12;
int n4 = -5;
System.out.println(m4 % n4)	//-2

++ –

不管符号在变量前还是变量后,都表示自增或自减一

前++ 先自增一,在运算

后++ 先运算,后自增一

自增自减不会改变本身的数据类型

赋值运算符

short s = 3;
s = s + 2;
s += 2;

思考一:两者有什么区别?

s = s + 2 编译不会通过

比较运算符

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

逻辑运算符

&—逻辑与 | —逻辑或 !—逻辑非

&& —短路与 || —短路或 ^ —逻辑异或

逻辑运算符操作的都是Boolean类型的变量

&和&&的相同点:运算结果相同

​ 不同点:当符号左边是 false 时,&会继续执行符号右边的运损,而&&不再执行符号右边的运算

开发中,推荐使用&&

| 和 || 的相同点:运算结果相同

​ 当符号左边是 false 时,都会执行符号右边的语句

​ 不同点:当符号左边是 true 时,| 会执行符号右边,而||不会执行符号右边

开发中,推荐使用||

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

位运算符

操作的都是整型变量

位运算符
<< 空位补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
~ 正数取反,各二进制码按补码各位取反 负数取反,各二进制码按补码各位取反

下面举例说明位运算:

2的二进制是

​ 0 0 0 0 0 0 1 0

0 0 0 0 0 0 1 0 0 0

左移就是整体往左移,后面补零

猜你喜欢

转载自blog.csdn.net/weixin_45321793/article/details/109075271