[java] How does bitshifting work in Java?