Различие Scanner, Console и BufferedReader(new InputStreamReader(System.in));
Объясните В чем различие для ввода данных в консоли Scanner, Console и BufferedReader bReader = new BufferedReader (new InputStreamReader(System.in)); и Какой лучше из них использовать!!!
Scanner - класс появившийся в 5-ой яве, позволяет читать данные из потока логическими кусками, т.е. значения определенного типа (скажем - прочитать следующую строку, следующее целое число, следующее double число, используя для этого заданный раздедитель значений, обычно, по дефолту, пробел).
BufferedReader к консоли как такого не имеет никакого отношения, это просто один из возможных, скажем так, фильтров в цепочке фильтров ввода-вывода, который позволяет читать из любого потока буфферизованные данные. В яве вообще весь ввод-вывод основан на цепочке фильтров. Например, можно создать файловый поток FileReader, потом создать new Buffered reader(myFileReader), и из получившегося потока можно будет читать данные из файла, буферизованно.
Про Console - читай тут. http://download.oracle.com/javase/6/docs/api/java/io/Console.html.