Александр привел несоответствующий действительности пример, т. к. при написании System.out.print("ABCDEFG\r1234"); выведет не 1234EFG, а
ABCDEFG
1234
Java покажет похожие результаты и дело, на самом деле, не в ней, а в платформе, которую вы используете!
\n для unix
\r для mac
\r\n для Windows

Пример:
1) System.out.print("хз \r хз");
Выдаёт:
хз
хз
2) System.out.print("хз \n хз");
Выдаёт:
хз
хз
Хоть убейте - не могу понять в чём разница!
В учебнике написано:
"\r - возврат каретки
\n - перевод строки"
Чем "Возврат коретки" отличается от обычного перевода строки?