开发者学堂课程【【名师课堂】Java 零基础入门:Java 运算符(位运算符)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/370/detail/4414
Java 运算符(位运算符)
内容简介:
一、位运算
二、位与运算
三、位或运算
四、补充题型
一、位运算
位运算指的是可以按照二进制、八进制、十六进制进行数据处理。使用频率最高的是二进制,在位运算之中可以采用数据移位的处理方式实现一些数据的内容变化。
实现位运算关键在于进行十进制与二进制的转换,其原则是数据除以二取余,再一直除到0为止,所有余数按照倒序排列。
范例:
19 00000000 00000000 00000000 00010011
➗ 2
——————
9 - - - 1
➗ 2
——————
4 - - - 1
➗ 2
—————
2 - - - 0
了解二进制的数据变化之后,就可以利用 &(有一个 0,与的结果就是 0)、|(有一个 1,或的结果就是 1)进行位的计算。
二、位与运算
范例:位与操作
public class TestDemo {
public static void main (String args [ ] ) {
int numA = 19 ;
int numB = 5 ;
System.out.println (numA & numB) ;
}
}
计算过程:19 的二进制为 00000000 00000000 00000000 00010011
5的二进制为 00000000 00000000 00000000 00001001
& 的计算: 00000000 00000000 00000000 00000001
三、位或运算
范例:位或运算
public class TestDemo {
public static void main (String args [ ] ) {
int numA = 19 ;
int numB = 5 ;
System.out.println (numA | numB) ;
}
}
计算过程:19的二进制为 00000000 00000000 00000000 00010011
5的二进制为 00000000 00000000 00000000 00001001
|的计算: 00000000 00000000 00000000 00010111
位运算最大的特点为可以进行移位处理:>>右移、<<左移
public class TestDemo {
public static void main (String args [ ] ) {
int numA = 2 ;
System.out.println (num << 2 ) ;
}
}
计算过程:2 的二进制为 00000000 00000000 00000000 00000010
移位处理 00000000 00000000 00000000 00001000
四、补充题型
范例:观察一个程序(八进制处理)
public class TestDemo {
public static void main (String args [ ] ) {
int numA = 023 ; 八进制
System.out.println (num) ;
}
}
面试题:请解释 && 和 &、|和||的区别。
•逻辑运算之中,
与操作:
&& 表示逻辑与运算,若干个判断条件之中如果前面有条件返回了 False,后续条件不再判断,最终结果为 False;
& 表示所有的判断条件都要执行;运算的两个数据位如果有一个为0结果即为0,全部为 1 时结果为 1;
或操作:
|| 表示逻辑或运算,若干个判断条件之中如果前面有条件返回了 True,则后续条件不再判断,最终结果为 True;
| 所有的判断条件都要执行;运算的两个数据位如果有一位为 1 最终结果即为 1。