Scanner is a commonly used class in Java, used to read input data from the console or file. It provides a simple way to parse basic types and strings, and supports matching regular expressions.
The Scanner class is located in the java.util package, so you need to import this package when writing a program. Before we start using Scanner, we need to create a Scanner object to access the input source.
The syntax for creating a Scanner object is:
Scanner scanner = new Scanner(System.in);
The above code creates a Scanner object, which can be used to read data from the standard input stream. In addition, we can also use other input streams to create Scanner objects.
Let’s take a look at some commonly used Scanner operations.
We can use the next() method to read a string, which will read the next word in the console input and Returns a string.
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); String str = scanner.next(); System.out.println("你输入的字符串是:" + str);
The above code runs the result:
请输入一个字符串:Hello World! 你输入的字符串是:Hello
The above code only reads the first word "Hello" in the input, because the next() method uses spaces to separate the input characters by default. string, so it will only read the first word in the input. If you need to read the entire string, you can use the nextLine() method.
We can use nextInt() or nextLong() to read an integer or long integer. If the input is not a numeric type, it will throw InputMismatchException exception.
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数:"); int num = scanner.nextInt(); System.out.println("你输入的整数是:" + num);
The above code results:
请输入一个整数:123 你输入的整数是:123
We can use nextFloat() or nextDouble() to read Get a floating point data. If the input is not floating point data, an InputMismatchException will be thrown.
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个浮点数:"); float f = scanner.nextFloat(); System.out.println("你输入的浮点数是:" + f);
The above code runs the result:
请输入一个浮点数:3.14 你输入的浮点数是:3.14
We can use the nextBoolean() method to read a Boolean type Data, if the input value is not true or false, an InputMismatchException will be thrown.
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个布尔值(true/false):"); boolean b = scanner.nextBoolean(); System.out.println("你输入的布尔值是:" + b);
The above code runs the result:
请输入一个布尔值(true/false):true 你输入的布尔值是:true
Scanner also provides a findInLine() method to read regular expressions expression. This method reads the first occurrence of the regular expression in the console input and returns a matching string.
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个正则表达式:"); String pattern = scanner.findInLine("\d+"); System.out.println("你输入的正则表达式匹配的字符串是:" + pattern);
The above code execution result:
请输入一个正则表达式:Hello 123 World! 你输入的正则表达式匹配的字符串是:123
The above are some common operations of the Scanner class. I hope it will be helpful to everyone learning Java.
The above is the detailed content of Detailed explanation of Scanner operation in Java. For more information, please follow other related articles on the PHP Chinese website!