0b10000000
- это положительное значение int
128. Буквальных представлений непосредственно для byte
нет, только int
, long
, float
, double
, char
, boolean
,String
и для null
.Вам понадобится приведение, чтобы назначить его byte
.
byte negative128 = (byte)0b10000000;
Это то же самое, что и любое другое представление:
byte a = (byte)128;
byte b = (byte)0x80;
Если преобразование из int
константа времени компиляции (например, литерал) до byte
не включает усечение (то есть от -128 до 127 включительно), тогда язык позволяет исключить приведение.
byte c = -128;