【Java SE】位运算和移位运算注意事项

简介: 【Java SE】位运算和移位运算注意事项

🐳1.位运算

🐬1.1按位与 &:

如果两个二进制位都是 1, 则结果为 1, 否则结果为 0

1. public class Test {
2. public static void main(String[] args) {
3. int a=10;
4. int b=1;
5. int c=a&b;
6.         System.out.println(c);
7.     }
8. }

🐬1.2按位或 |:

如果两个二进制位都是 0, 则结果为 0, 否则结果为 1

1. public class Test {
2. public static void main(String[] args) {
3. int a=10;
4. int b=1;
5. int c=a|b;
6.         System.out.println(c);
7.     }
8. 
9. }

🐬1.3按位取反 ~:

如果该位为 0 则转为 1, 如果该位为 1 则转为 0

1. public class Test {
2. public static void main(String[] args) {
3. 
4. int a=10;
5.          a=~a;
6.         System.out.println(a);
7.     }
8. 
9. }

🐬1.4按位异或 ^:

如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1

1. public class Test {
2. 
3. public static void main(String[] args) {
4. int a=10;
5. int b=1;
6. int c=a^b;
7.         System.out.println(c);
8.     }
9. 
10. }

🐳2.移位运算

🐬2.1 左移 <<:

最左侧位不要了, 最右侧补 0

1. public class Test {
2. 
3. public static void main(String[] args) {
4. int a=10;
5. int b=a<<1;
6.         System.out.println(b);
7. 
8.     }
9. 
10. }

🐬2.2右移 >>:

最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)

1. public class Test {
2. public static void main(String[] args) {
3. int a=10;
4. int b=a>>1;
5.         System.out.println(b);
6.     }
7. 
8. 
9. }

🐬2.3无符号右移 >>>:

最右侧位不要了, 最左侧补 0.

1. public class Test {
2. public static void main(String[] args) {
3.         System.out.println(1>>>1);
4.         System.out.println(-1>>>1);
5.     }
6. 
7. }

相关文章
|
2月前
|
编解码 算法 Java
Java中的位运算详解
Java中的位运算详解
|
25天前
|
Java
【Java基础面试十一】、int和Integer有什么区别,二者在做==运算时会得到什么结果?
这篇文章解释了Java中`int`基本数据类型和其包装类`Integer`之间的区别,并指出在进行`==`运算时,`Integer`会拆箱为`int`类型,然后比较它们的值是否相等。
【Java基础面试十一】、int和Integer有什么区别,二者在做==运算时会得到什么结果?
|
1月前
|
Java
【Java】static 类方法中注意事项
【Java】static 类方法中注意事项
|
3月前
|
安全 Java
探讨Java中静态变量在静态方法内部的使用及其注意事项
探讨Java中静态变量在静态方法内部的使用及其注意事项
19 1
|
3月前
|
存储 Java 程序员
Java入门——基本语法(注释、字面量、变量、使用变量的注意事项、关键字、标识符)
Java入门——基本语法(注释、字面量、变量、使用变量的注意事项、关键字、标识符)
30 2
|
2月前
|
存储 Java
Java中的静态变量与静态方法:应用与注意事项
Java中的静态变量与静态方法:应用与注意事项
|
2月前
|
设计模式 缓存 Java
Java中的反射机制:使用场景与注意事项
Java中的反射机制:使用场景与注意事项
|
3月前
|
Java
Java基础语法注意事项
Java基础语法注意事项
19 1
|
4月前
|
存储 算法 Java
Java赋值运算
Java赋值运算
32 3
|
3月前
|
算法 Java
Java数据结构与算法:位运算之位移操作
Java数据结构与算法:位运算之位移操作