[java] Odd behavior when Java converts int to byte?