[java] How do shift operators work in Java?