Код: Выделить всё
public class Main {
public static void main(String[] args) {
double value = Math.pow(2,31);
System.out.println("Raw double: " + value);
System.out.println("After casting to int: " + (int)value);
System.out.println("Integer.MAX_VALUE: " + Integer.MAX_VALUE);
}
}
< /code>
Я сделал это в jshell-версия 20.0.2, Java 20.0.2 2023-07-18 и программа < /p>
Вывод, который я ожидал, так как значение должно обернуться: < /p>
Raw double: 2.147483648E9
After casting to int: -2147483648
Integer.MAX_VALUE: 2147483647
< /code>
Вывод, который я получил: < /p>
Raw double: 2.147483648E9
After casting to int: 2147483647
Integer.MAX_VALUE: 2147483647
Подробнее здесь: https://stackoverflow.com/questions/797 ... s-expected