Что будет выведено на экран после выполнения следующего кода?
public class Test {
public static void main(String[] args) {
Double d = 1.56D;
Long l = 257L;
byte b = 10;
System.out.println(d.longValue() + l.byteValue() + b % 2);
}
}
Приведение вещественных типов к целочисленным производится отбрасыванием дробной части.
Приведение long к byte производится отбрасыванием 56 старших разрядов. оставляя только 8 младших.
257L = 0001 0000 0001 в двоичной системе (всего 64 разряда)
После приведения получаем 0000 0001 что равно 1 в десятичной системе.
Дальше b % 2 = 0
В результате 1 + 1 + 0 = 2
Войдите чтобы поставить Нравится
Войдите чтобы прокомментировать