Метод read() считывает 1 байт из массива bytes, переданного в конструктор ByteArrayInputStream, однако считанное значение возвращается как int. byte в Java представляется как восьмиразрядное число, а int - как 32 разрядное, поэтому преобразование из byte в int происходит добавлением к 8 разрядам байта 24 незначащих нулей. Байт равный -1 представляется как 11111111, после расширения до int в десятичной системе он будет проинтерпретирован как 255. Поэтому в данном примере будет выведено 256 (255 + 1 + 0).
Войдите чтобы поставить Нравится
Войдите чтобы прокомментировать