Следующий код компилирует и дает 1
в качестве вывода, его немного запутывает для меня. Я попробовал javap
для этого, но оттуда тоже не мог понять. Я проверил для подобных сообщений, но не смог найти аналогичный вопрос здесь.
Посмотрите на код:
int i = (byte) + (char) - (int) + (long) - 1;
System.out.println(i);
здесь используется байт-код
Compiled from "Test.java"
public class Test {
public Test();
public static void main(java.lang.String[]);
}
Как работают здесь типы? зависит ли он от размера типа данных? Как работает код?