How Does Scanner Class in Java Works with Input?

Does Scanner take all the input from the console window at once or does it take it one by one?

Example:

Scanner scan = new Scanner(System.in);

int n = scan.nextInt();

int str = scan.nextLine();

float f = scan.nextFloat();

Please share your thought.

And also if possible share some references too.

Both, either, depends.

If you type 7 then press Enter, the code will assign n = 7 and str = ""1 and will then wait for more. If you then type 3.14 and press Enter, the code will assign f = 3.14.

System.in will receive user input when the user presses Enter, so although it is a stream of characters (bytes actually), they will arrive in blocks of 1 line at a time.

Scanner will therefore see that 1 line at a time too.

You can read here for more info.