Дан фрагмент программы:

double p = Double.POSITIVE_INFINITY;
double n = Double.NEGATIVE_INFINITY;

System.out.println(
    ((long) p > (long) n) + " " +
    ((int) p > (int) n) + " " +
    ((short) p > (short) n) + " " +
    ((char) p > (char) n) + " " +
    ((byte) p > (byte) n));
Что будет напечатано в результате выполнения?
Explanation
Этот пример демонстрирует принцип преобразований вещественных типов в целые. Сначала приводится к int (или long), а потом просто урезается, если нужен byte, char или short. Из-за этого byte и short так странно себя ведут (например -inf -> 0x80000000 -> 0x00=0, а +inf -> 0x7FFFFFFF -> 0xFF=-1)

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты