Java中,>>和<<被稱為雙大于和雙小于符號(hào),它們是用來(lái)進(jìn)行位運(yùn)算的。
// 雙大于符號(hào)表示右移,相當(dāng)于除以2的n次方 int a = 10 >> 1; // a的值為5,10二進(jìn)制數(shù)為1010,右移一位得到101,即十進(jìn)制數(shù)為5 int b = -10 >> 1; // b的值為-5,-10二進(jìn)制數(shù)為11111111111111111111111111110110(補(bǔ)碼表示),右移一位得到11111111111111111111111111111011(補(bǔ)碼表示),即十進(jìn)制數(shù)為-5 // 雙小于符號(hào)表示左移,相當(dāng)于乘以2的n次方 int c = 10 << 1; // c的值為20,10二進(jìn)制數(shù)為1010,左移一位得到10100,即十進(jìn)制數(shù)為20 int d = -10 << 1; // d的值為-20,-10二進(jìn)制數(shù)為11111111111111111111111111110110(補(bǔ)碼表示),左移一位得到11111111111111111111111111101100(補(bǔ)碼表示),即十進(jìn)制數(shù)為-20
雙大于和雙小于符號(hào)的應(yīng)用十分廣泛,常用于進(jìn)行二進(jìn)制位移操作,可以提高程序執(zhí)行效率。