я только начал java и читал java руководство для начинающих, здесь упоминается "При чтении из System.in нажатие ENTER создает условие окончания потока"
и что метод read возвращает -1, когда он пытается прочитать в конце потока, но нажатие клавиши ввода, похоже, ничего не делает, так как чтение просто присваивает значение \ n в Linux и значение \ r \ n отдельно в Windows.