在Java中,左移和右移是位運(yùn)算操作符,用于對(duì)整數(shù)進(jìn)行位移操作。
例如:
int a = 5; // 二進(jìn)制表示為:00000101
int b = a << 2; // 左移2位,結(jié)果為20,二進(jìn)制表示為:00010100
例如:
int a = 20; // 二進(jìn)制表示為:00010100
int b = a >> 2; // 右移2位,結(jié)果為5,二進(jìn)制表示為:00000101
值得注意的是,對(duì)于正數(shù),右移運(yùn)算會(huì)將空出的位用0填充;而對(duì)于負(fù)數(shù),右移運(yùn)算會(huì)將空出的位用1填充。這是因?yàn)镴ava使用的是算術(shù)右移。如果需要進(jìn)行邏輯右移,可以使用無符號(hào)右移運(yùn)算符(>>>),它會(huì)將空出的位全部填充為0。