在阅读源码的过程中,经常会看到这些符号<< ,>>,>>>,这些符号在Java中叫移位运算符,在写代码的过程中,虽然我们基本上不会去写这些符号,但需要明白这些符号的运算原理,比如HashMap中有以下代码: static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;//左移 static final int hash(Object key) { int h; return (key == null) ? 0…
public class test{ public static void main(String[] args) { int m = 9; int n = m >> 3; int p = 8; int q=p <<2; System.out.println("m>>3 = "+ n); System.out.println("p<<3 = "+ q); } } 结果 m>>3 = 1 p<<3…
java移位运算符:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的所有位都左移规定的次数. 1)它的通用格式如下所示: value << num num 指定要移位值value 移动的位数. 左移的规则只记住一点:丢弃最高位,0补最低位 如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模.如对int型移动33位,实际上只移动了332=1位. 2)运算规则 按二进制形式把所…