Scanner类
01、什么是Scanner类
Scanner是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器,也是Java提供的用于读取输入的类,可以从文件、字符串、输入流中解析出基本类型值和字符串值。
02、Scanner的标准输入
Scanner input= new Scanner(System.in);
其中System.in为标准输入流
03、常用方法
nextInt()
: 读取一个整数。nextDouble()
: 读取一个双精度浮点数。next()
: 读取一个字符串,以空格为分隔符。nextLine()
: 读取一行输入。hasNext()
:判断输入是否还有下一个元素。
nextInt()方法
import java.util.Scanner; public class Test01{ public static void main(String[] args) { // 从键盘输入数据 Scanner scan = new Scanner(System.in); // next方式接收字符串 int s = scan.nextInt(); System.out.println("输入的整数为"+s); } }
nextDouble()方法
import java.util.Scanner; public class Test01{ public static void main(String[] args) { // 从键盘输入数据 Scanner scan = new Scanner(System.in); // next方式接收字符串 double s = scan.nextDouble(); System.out.println("输入的小数为"+s); } }
next()方法
import java.util.Scanner; public class Test01{ public static void main(String[] args) { // 从键盘输入数据 Scanner scan = new Scanner(System.in); // next方式接收字符串 String s = scan.next(); System.out.println("输入的内容为"+s); } }
nextLine()方法
import java.util.Scanner; public class Test01 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.print("请输入第一行: "); String Str1 = scanner.nextLine(); System.out.print("请输入第二行: "); String str2 = scanner.nextLine(); System.out.println("您输入的第一行内容为: " + str1); System.out.println("您输入的第二行内容为: " + str2); scan.close(); } }
hasNext()方法
import java.util.Scanner; public class Test01 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); while(scan.hasNext()){ String input = scan.next(); System.out.println("输入的内容是"+input); } } }
注意:
next
方法忽略开始的所有的分隔符,读取到正常文本后直到遇到分隔符结束读取。nextLine
方法就是读取一行,只要读到换行符就返回。- 但是最终不管哪种方法,都不会把最后的分隔符读进来。即:next()方法返回的字符串结尾没有空格,并且nextLine方法返回的字符串结尾没有换行符。