更新時(shí)間:2022-03-21 12:15:43 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1897次
學(xué)習(xí)Java是一個(gè)積累的問題。也許你可以通過自學(xué)掌握一些膚淺的技術(shù),通過系統(tǒng)的學(xué)習(xí)Java基礎(chǔ)知識(shí),但是你還是需要自己的技術(shù)和工作經(jīng)驗(yàn)的積累才能精通。

1.“有符號(hào)”左移運(yùn)算符(< <)可以將運(yùn)算符左側(cè)的操作數(shù)向左移動(dòng)運(yùn)算符右側(cè)指定的位數(shù)(低位填0)。
左移相當(dāng)于乘以2,例如
3 < < 2 // 12 將數(shù)字 3 左移 2 位2 2 = 3 *(2 的二次方)
分析:先將3轉(zhuǎn)換成二進(jìn)制數(shù)0000 0000 0011,然后將該數(shù)的高位(左)的兩個(gè)零移出,其他數(shù)左移2位,最后填入低階(右)。那么最終的結(jié)果就是0000 0000 0000 1100,轉(zhuǎn)換成十進(jìn)制就是12。數(shù)學(xué)意義:
在數(shù)不溢出的前提下,對(duì)于正數(shù)和負(fù)數(shù),左移一位相當(dāng)于乘以 2 的 1 次方,左移 n 位相當(dāng)于乘以 2 的 n 次方。
2.有符號(hào)右移運(yùn)算符(> >)將運(yùn)算符左側(cè)的操作數(shù)向右移動(dòng)運(yùn)算符右側(cè)指定的位數(shù)。“有符號(hào)”右移運(yùn)算符使用“符號(hào)擴(kuò)展”:如果值為正,則在高位插入0;如果值為負(fù),則在高位插入 1。
>> 運(yùn)算規(guī)則:按二進(jìn)位博弈形式將所有數(shù)字右移相應(yīng)的位數(shù),移出(丟棄)低位,用高位中的空位填充符號(hào)位。如果移位后得到的數(shù)為正數(shù),則填0,負(fù)數(shù)填1。
例如,11 > > 2 將數(shù)字 11 向右移動(dòng) 2 位
解析:11的二進(jìn)制形式為:0000 0000 0000 0000 1011,然后將www.sangpi.com的后兩位低位移出。因?yàn)閿?shù)字是正數(shù),所以高位填零。最終結(jié)果是0000 0000 0000 0000 0000 0010。轉(zhuǎn)換成十進(jìn)制是3。數(shù)學(xué)意義:右移一位相當(dāng)于除2,右移n位相當(dāng)于除2的n次方。
3.Java還增加了一個(gè)“無符號(hào)”右移運(yùn)算符(> > >),它使用“零擴(kuò)展”:無論正負(fù),高位插入0
4.右移一位相當(dāng)于除以2,左移一位(不溢出)相當(dāng)于乘以2;移位運(yùn)算比乘法和除法更快。
5.位運(yùn)算符的優(yōu)先級(jí)
~是最高優(yōu)先級(jí),依次是<、> >和> > >,其次是&,然后是^,最低優(yōu)先級(jí)是|。
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)