Scanner In Java: Everything You Need to Know

Java is the most popular programming language owing to its flexibility and excellent library support. The Scanner class in Java emerges as a core element that allows user input across Java's numerous classes. Let's look at the complexities of the scanner in Java, grasp its capabilities, investigate the innumerable input types in multiple aspects, and discover its applications will provide you with a comprehensive knowledge of how to use this scanner class in Java efficiently.

Learn the Ins & Outs of Software Development

Caltech Coding BootcampExplore Program
Learn the Ins & Outs of Software Development

Java Scanner Input Types

At the center of the Scanner class in Java lies its capability to parse diverse input types, ensuring seamless user interaction. To this end, the class provides some methods, each of these are tailored to handle a specific data type. Do read about these methods to understand their utilization better:

  • nextBoolean () - Designed to interpret the next token as a boolean value, this method deciphers and returns either "true" or "false" based on the user's input.
  • nextByte() - When dealing with numerical data within the byte range, the nextByte() method steps in. It captures the next token as a byte value, catering to the precision requirements.
  • nextDouble() - For scenarios involving double-precision floating-point values, the nextDouble() method is indispensable. It diligently translates the upcoming token into a double data type, maintaining the accuracy of the input.
  • nextFloat() - The next Float() method finds its purpose in capturing single- precision floating-point values. This method is instrumental when accuracy matters and the input demands adherence to float constraints.
  • nextInt( )-In integer input, nextInt() emerges as a stalwart. It efficiently processes the next token as an integer, catering to applications requiring whole number values.
  • nextLine() - Often, user input encompasses more than just numerical data. In these cases, the next line () method proves invaluable, capturing entire lines of text, along with spaces and characters.
  • nextLong() - For handling extended integer values beyond the scope of nextInt(), the nextLong() method is brought into play. It aptly captures long integer values with precision.
  • nextShort() -  When a narrower range of short integer values is on the horizon, nextShort() takes the stage. It seamlessly captures these values, catering to specific application requirements.


The Java.util package contains the scanner in Java, which links the program and the input stream. It offers ways to read and interpret many kinds of data from the standard input stream (, including strings, characters, integers, and doubles. By default, this stream is attached to the keyboard, ensuring the program communicates with the user via the console.

Let's go over an example to understand how the Scanner class captures and handles user input. In this example, we will write a Java program that assembles data on a person and outputs the information to the console.

// Java program to read data of various types using Scanner

// class.

import java.util.Scanner;

public class ScannerDemo1 {

    public static void main(String[] args)


        // Declare the object and initialize with

        // predefined standard input object

        Scanner sc = new Scanner(;


        // String input

        String name = sc.nextLine();


        linksr gender =;


        // Numerical data input

        // byte, short and float can be read

        // using similar-named functions.

        int age = sc.nextInt();

        long mobileNo = sc.nextLong();

        double cgpa = sc.nextDouble();


        // Print the values to check if the input was

        // correctly obtained.

        System.out.println("Name: " + name);

        System.out.println("Gender: " + gender);

        System.out.println("Age: " + age);

        System.out.println("Mobile Number: " + mobileNo);

        System.out.println("CGPA: " + cgpa);



  • Input

1 2 3 4 5

  • Output

Mean: 3

Here's How to Land a Top Software Developer Job

Full Stack Developer - MERN StackExplore Program
Here's How to Land a Top Software Developer Job

Key Points About Java Scanner Class

  • Versatile Input Handling - The Scanner class simplifies the intricacies of user input handling by offering methods tailored to diverse data types.
  • Library Inclusion - As part of the java.util package, the Scanner class doesn't necessitate additional imports, ensuring its accessibility.
  • Input Source Flexibility - The Scanner class is designed to read input from various sources, including the keyboard ( and files.
  • Class Hierarchy - Unlike being a superclass, the Scanner class is a prominent member of java.util package, providing input parsing capabilities.
  • Comprehensive Library - The Scanner class library spans methods catering to primitive data types, strings, and even custom patterns, enhancing its applicability.


The Scanner in Java is a vital tool for speeding up user input processing in Java. It enables developers to create interactive apps capable of smoothly integrating user interactions because of its vast number of techniques specialized to different data kinds. Discovering the Scanner class in Java’s complexities will set you on a path to developing Java apps that are more engaging and user-focused. You will improve user experiences and optimize data aggregation within your Java endeavors as you apply your newly acquired skill in real settings, eventually influencing the development of a more complex programming environment.

If you are looking to enhance your software development skills further, we would highly recommend you to check Simplilearn’s Professional Certificate Program in Full Stack Web Development - MERN. This course, in collaboration with IIT Madras, can help you hone the right skills and make you job-ready in no time.

If you have any questions or doubts, feel free to post them in the comments section below. Our team will get back to you at the earliest.


1. Which Scanner class is used to take input in Java? 

The java.util.Scanner class is exclusively used for taking input in Java. Its specialized methods cater to a wide range of input types.

2. Is Scanner a superclass? 

No, the Scanner class does not serve as a superclass. It holds the status of a standalone class within the java.util package, designed for input processing.

3. What is the library of Scanner in Java? 

The Scanner class library is a comprehensive set of processes for reading different input types like booleans, bytes, doubles, floats, ints, longs, shorts, and strings.

About the Author


Simplilearn is one of the world’s leading providers of online training for Digital Marketing, Cloud Computing, Project Management, Data Science, IT, Software Development, and many other emerging technologies.

View More
  • Disclaimer
  • PMP, PMI, PMBOK, CAPM, PgMP, PfMP, ACP, PBA, RMP, SP, and OPM3 are registered marks of the Project Management Institute, Inc.