更新時間:2022-11-08 10:10:51 來源:動力節點 瀏覽1557次
Java位運算符是什么?動力節點小編來告訴大家。
以0開頭的整數為八進制
05 就是十進制的5
011就是十進制的9
以0x開頭的整數位十六進制
0xF 就是十進制的15
0x11就是十進制的17
int a = 05;
int b = 011;
int c = 0xF;
int d = 0x11;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
按位運算符
二進制的位 ,運算的過程當中一位一位開始運算 ,相當于為二進制定制的運算
按位并(AND) : & (都是1結果為1 ,都是0結果為0 ,和邏輯的&類似 如果全1 和 全0結果為全0)
按位或 (OR) : | (只要有一個是1結果就為1)
按位異或 (XOR) : ^ (兩個不一樣就為1 ,兩個一樣對比結果就為0)
按位取反:~ (每一位都取反)
用十六進制或者八進制去表示的話 ,能夠比較容易的表示出結果
int a = 0xF8;
//1111 1000
int b = 0xF4;
//1111 0100
int c = 0xFF;
//1111 1111
System.out.println(a & b);
System.out.println(a | b);
System.out.println(a ^ b);
System.out.println(~c);
位移運算符
' >>> ' : 符號位一起右移,左邊補0,又稱無符號右移
' < ' : 左移,右邊補0。左移沒有帶符號位一說,因為符號位在最左側
按位運算符不會改變原本的變量的值 2. 位移運算符不會改變原本的變量的值
按位運算符
掩碼(MASK)
一個int有32位 ,即可以使用31位狀態表示 ,因此我們可以使用掩碼來表示一個人的多種狀態 ,但是不建議這樣是使用
int base = 1;
int is_student_mask = base;
int is_programmer_mask = base << 1;
int is_driver_mask = base << 2;
int is_painter_mask = base << 3;
int data = 5;
boolean isStudent = (data & is_student_mask) != 0;
System.out.println(isStudent);
boolean isProgrammer = (data & is_programmer_mask) != 0;
System.out.println(isProgrammer);
boolean isDriver = (data & is_driver_mask) != 0;
System.out.println(isDriver);
boolean isPainter = (data & is_painter_mask) != 0;
System.out.println(isPainter);
位移運算符
可用于高效除以2
左移相當于除二 ,右移相當于乘以二
以上就是關于“Java位運算符的詳細介紹”,如果大家想了解更多相關知識,不妨來關注一下本站的Java教程,里面有更豐富的知識等著大家去學習,希望對大家的學習能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習