Taking Input from the User
What is the difference between taking input from `Scanner` and `BufferedReader` ?
For example..
    `BufferedReader br = new BufferedReader(new InputStreamReader(System.in));`
    `System.out.println("Enter characters, 'q' to quit.");`
    
    `// read characters`
    `do {`
    `c = (char) br.read();`
    `System.out.println(c);`
    `} while(c != 'q');`


and, 

    `Scanner scan = new Scanner(System.in);`
    `char mrArray = new char[10];`
    `// read characters`
    `for (int i = 0; i < myArray.length; i++) {`
        `String temp = myScanner.next();`
        `myArray[i] = temp.charAt(0);`
      `}`


Is there any difference between the two? Or can there be in future? Do I need to learn `BufferedStream` methods because I always use `Scanner`.


Taking Input from the User
===

What is the difference between taking input from `Scanner` and `BufferedReader` ?
For example..
    `BufferedReader br = new BufferedReader(new InputStreamReader(System.in));`
    `System.out.println("Enter characters, 'q' to quit.");`
    
    `// read characters`
    `do {`
    `c = (char) br.read();`
    `System.out.println(c);`
    `} while(c != 'q');`


and, 

    `Scanner scan = new Scanner(System.in);`
    `char mrArray = new char[10];`
    `// read characters`
    `for (int i = 0; i < myArray.length; i++) {`
        `String temp = myScanner.next();`
        `myArray[i] = temp.charAt(0);`
      `}`


Is there any difference between the two? Or can there be in future? Do I need to learn `BufferedStream` methods because I always use `Scanner`.

