String s = System.console().readLine(); // 1

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine(); // 2

1と2の違いはなんなのでしょうか?
違いがある場合、それぞれのメリット、デメリットについても教えて頂けるとありがたいです。