java代码的符号 java编程符号大全及作用( 二 )


使用 JShell 进行测试代码如下:
代码示例如下:
int a = 0;
a = 3;
System.out.println(a);// 3
a += 3;
System.out.println(a);// 6
a -= 3;
System.out.println(a);// 3
a *= 3;
System.out.println(a);// 9
a /= 3;
System.out.println(a);// 3
a %= 2;
System.out.println(a);// 1
比较运算符
比较运算符, 也可以说是布尔运算符 。主要是比较两个表达式的结果 。(表达式) 操作符 (表达式)
根据上面的运算符进行案例演示 ,  一定要动手练习 。更能加深印象 。
只要知道比较运算是最终得到一个布尔类型的值 。并且在进行比较运算的时候,一定要注意其优先级 。代码这次自己动手做吧 。有上面的演示,应该很容易就搞定 。
逻辑运算符
对于逻辑运算符,主要就是 3 个 。逻辑与、逻辑或、逻辑非 。和数学中的与或非意思一致 。
格式: 表达式1 逻辑运算符 表达式2
逻辑运算符大多数情况下会和其他的运算符一起使用,主要做一些简单或复杂的逻辑运算 。并且通常都是和 if, for 等逻辑表达式一起使用 。
简单的说一说 ,  对于逻辑与和逻辑或不同点 。逻辑与为第一个表达式和第二个表达式都等于真值的情况下才会表达式成立 。逻辑或是第一个表达式为真值的情况下 ,  就不会在执行第二个表达式 。因为不管第二个表达式是否成立,该逻辑运算都是真值了 。
位运算符
对于任何编程语言而言,最终的操作都是二进制表示,因为计算机只认识二进制,而八进制,十进制或者十六进制都是为了让开发人员方便开发 。对于 Java 来说, 也可以针对数的某个值进行运算 。这就需要位运算符的参与了 。也是为了方便对二进制进行操作 。
位运算符主要有一下运算符:
位与
按位与和逻辑运算符的逻辑与很类似,一个比较的表达式,一个是按照位来进行判断 。在二进制中,位与的判断为都为 1 的记做 1 否则记做 0 。
按位与规则如下:
00 = 0;
01 = 0;
10 = 0;
11 = 1;
先看一个都是正整数的值 102 。
最终得出结果 0000 10100000 0010 = 0000 0010 转换成十进制就是2 。
对于负值的位与运算有点区别的地方就是参与运算的是补码 。
举例说明: 10-2
具体如何得到补码,可以参考我之前写的文章基础类型的相互转换 。这里对于负值的情况需要了解什么是原码,反码和补码 。参与运算的是补码 。-2 的原码是 1000 0010反码是 1111 1101 补码 在反码的基础最后一位加 1 得到1111 1110 。
最终结果得到 0000 10101111 1110 = 0000 1010 十进制也就是 10 。
这个时候怎么校验结果是否正确呢? 直接写 Java 代码就好了,打开 jshell:
位或 |
按位或 ,  和逻辑或很类似,只要二者有一位 1 结果就是 1 。
按位或规则如下:
0 | 0 = 0;
0 | 1 = 1;
1 | 0 = 1;
1 | 1 = 1;
根据上面的运算得到了 10 | 2 = 10 。
负值有略有不同 。
还是要灵活运用原码反码和补码,特别是负数的情况下 ,  因为正数的原码和补码一致 。
位反 ~
按位反,和逻辑非类似 。是对位进行直接取反 。
按位反规则如下:
~1 = 0;
~0 = 1;
先用 2 进行运算处理:
在进行 -2 的运算操作
-2 的原码 需要转换成补码,用补码进行取反运算 。得到 1 的二进制 。
代码演示如下:
位异或 ^
位异或是基于二进制的位运算 。采用符号 XOR 在 Java 中使用 ^ 进行表示 。两个值相同取 0,不同的取 1 。

推荐阅读