Литералы типа int и byte - это константы, которые представляют числовые значения в двоичном формате.
Для составления литерала типа int, мы можем использовать один из следующих способов:
- Десятичный литерал: пишем число в десятичной системе счисления без префикса. Например: int x = 10;.
- Бинарный литерал: пишем число в двоичной системе счисления с префиксом 0b. Например: int x = 0b1010;.
- Шестнадцатеричный литерал: пишем число в шестнадцатеричной системе счисления с префиксом 0x. Например: int x = 0xA;. Для составления литерала типа byte, мы можем использовать любой из вышеперечисленных способов, только необходимо явно указать, что значение должно быть типа byte. Например: byte b = (byte) 10; или byte b = 0b1010;.
В памяти для переменных типа int отводится 4 байта, а для переменных типа byte - 1 байт. Если мы объявляем переменную и присваиваем ей литерал соответствующего типа, то выделяется соответствующий объем памяти под эту переменную. Например, если мы объявляем int x = 10;, то выделяется 4 байта в памяти под переменную x. Если мы объявляем byte b = 10;, то выделяется 1 байт в памяти под переменную b.
Если значение литерала не может быть представлено в указанном типе, то происходит потеря данных - если мы присваиваем int-литерал больше, чем может поместиться в byte, то на выходе получим некорректное значение типа byte, которое будет содержать только младший байт изначального значения int.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov