Java: Как работает InputStream и System.in.read();

Всем привет! Подскажите пожалуйста, что происходит когда я запускаю такой код:

int z = System.in.read(); // ввожу 100
System.out.println(z); // выводит 49
System.out.println((char)z); // выводит 1

Не могу понять откуда взялось значение 49. Каким образом метод read() преобразовал 100 в 49? Объясните подробно пожалуйста.


Ответы (1 шт):

Автор решения: Евгений Курмыса

Как уже писали выше, метод System.in.read() считывает лишь первый символ какой угодно строки и в переменную типа int кладёт значение символа согласно некоторой системе кодировки символов (например, ASCII). В данном случае считывается символ '1', код которого равен 49.

→ Ссылка