【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. }

相关文章
|
5月前
|
编解码 算法 Java
Java中的位运算详解
Java中的位运算详解
|
2月前
|
JSON Java 开发工具
Java服务端集成Google FCM推送的注意事项和实际经验
本文分享了作者在公司APP海外发布过程中,选择Google FCM进行消息推送的集成经验。文章详细解析了Java集成FCM推送的多种实现方式,包括HTTP请求和SDK集成,并指出了通知栏消息和透传消息的区别与应用场景。同时,作者还探讨了Firebase项目的创建、配置和服务端集成的注意事项,帮助读者解决文档混乱和选择困难的问题。
92 1
|
3月前
|
Java
java基础(4)public class 和class的区别及注意事项
本文讲解了Java中`public class`与`class`的区别和注意事项。一个Java源文件中只能有一个`public class`,并且`public class`的类名必须与文件名相同。此外,可以有多个非`public`类。每个类都可以包含一个`main`方法,作为程序的入口点。文章还强调了编译Java文件生成`.class`文件的过程,以及如何使用`java`命令运行编译后的类。
61 3
java基础(4)public class 和class的区别及注意事项
|
2月前
|
JSON Java 开发工具
Java服务端集成Google FCM推送的注意事项和实际经验
公司的app要上海外,涉及到推送功能,经过综合考虑,选择Google FCM进行消息推送。 查看一些集成博客和官方文档,看的似懂非懂,迷迷惑惑。本篇文章除了将我实际集成的经验分享出来,也会对看到的博客及其中产生的疑惑、注意事项一一评论。 从官方文档和众多博客中,你会发现Java集成FCM推送有多种实现方式,会让生产生文档很乱,不知作何选择的困惑。
107 0
|
3月前
|
Oracle Java 关系型数据库
Java(TM) Platform SE binary 已停止工作”的解决方法
Java(TM) Platform SE binary 已停止工作”的解决方法
269 2
|
4月前
|
Java
【Java基础面试十一】、int和Integer有什么区别,二者在做==运算时会得到什么结果?
这篇文章解释了Java中`int`基本数据类型和其包装类`Integer`之间的区别,并指出在进行`==`运算时,`Integer`会拆箱为`int`类型,然后比较它们的值是否相等。
【Java基础面试十一】、int和Integer有什么区别,二者在做==运算时会得到什么结果?
|
4月前
|
Java
【Java】static 类方法中注意事项
【Java】static 类方法中注意事项
|
6月前
|
安全 Java
探讨Java中静态变量在静态方法内部的使用及其注意事项
探讨Java中静态变量在静态方法内部的使用及其注意事项
54 1
|
6月前
|
存储 Java 程序员
Java入门——基本语法(注释、字面量、变量、使用变量的注意事项、关键字、标识符)
Java入门——基本语法(注释、字面量、变量、使用变量的注意事项、关键字、标识符)
44 2
|
5月前
|
存储 Java
Java中的静态变量与静态方法:应用与注意事项
Java中的静态变量与静态方法:应用与注意事项
下一篇
DataWorks