Преобразование базовых типов

Последнее обновление: 31.10.2018
Вопрос 1

Какие преобразования типов НЕ выполняются автоматически (возможно, несколько вариантов):

  • Из short в int

  • Из int в short

  • Из boolean в int

  • Из byte в float

Автоматически не выполняются следующие преобразования:

  • Из int в short

  • Из boolean в int

Вопрос 2

Что будет выведено на консоль в результате выполнения следующей программы и почему?

public class Program {
  
    public static void main(String[] args) {
          
        short shortNum = 257;       
        byte byteNum = (byte)shortNum;
        
        System.out.println(byteNum);
        
    }
}

Программа выведет на консоль число 1.

Число 257, которое хранится в переменной типа short, в двоичном представлении будет равно 0000000100000001. Пр преобразовании к типу byte это число сокращается до разрядности типа byte, то есть до 8 разрядов. Поэтому левые 8 разрядов отбрасываются и получается число 00000001, то есть в десятичной системе число 1.

Дополнительные материалы
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850