int a=4;
int j=a<<1;//左移一位就相当于乘以2,
int k=a>>1;//又移一位相当于除以2
int j1=a*2;
int k1=a/2;
System.out.println("j="+j+","+"k="+k);//j得到的结果是8,k的结果是2
System.out.println("j1="+j1+","+"k1="+k1);//j1得到的结果是8,k1的结果是2
移位的左移和右移能够达到乘和除的功能,同*和/符号能够达到同等的结果,试问一下移位运算的运算速度是不是比乘除的速度快和效率高呢? |