Scanner 是 Java 中的一个常用类,用来读取控制台或文件中的输入数据。它提供了一种简单的方式来解析基本类型和字符串,并支持对正则表达式进行匹配。
Scanner 类位于 java.util 包中,因此在编写程序时需要 import 该包。在开始使用 Scanner 之前,我们需要创建一个 Scanner 对象来访问输入源。
创建 Scanner 对象的语法为:
Scanner scanner = new Scanner(System.in);
上面的代码创建了一个 Scanner 对象,可以使用它来读取标准输入流中的数据。除此之外,我们还可以使用其他的输入流来创建 Scanner 对象。
下面我们来看一些常用的 Scanner 操作。
我们可以使用 next() 方法来读取一个字符串,它会读取控制台输入中的下一个单词,并返回一个字符串。
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); String str = scanner.next(); System.out.println("你输入的字符串是:" + str);
上面的代码运行结果:
请输入一个字符串:Hello World! 你输入的字符串是:Hello
上述代码只读取了输入中的第一个单词"Hello",因为 next() 方法默认会使用空格分隔输入的字符串,所以它只会读取输入中的第一个单词。如果需要读取整个字符串,可以使用 nextLine() 方法。
我们可以使用 nextInt() 或 nextLong() 来读取一个整数或长整数,如果输入的不是数值类型,会抛出 InputMismatchException 异常。
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数:"); int num = scanner.nextInt(); System.out.println("你输入的整数是:" + num);
上面的代码运行结果:
请输入一个整数:123 你输入的整数是:123
我们可以使用 nextFloat() 或 nextDouble() 来读取一个浮点型数据。如果输入的不是浮点型数据,会抛出 InputMismatchException 异常。
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个浮点数:"); float f = scanner.nextFloat(); System.out.println("你输入的浮点数是:" + f);
上面的代码运行结果:
请输入一个浮点数:3.14 你输入的浮点数是:3.14
我们可以使用 nextBoolean() 方法来读取一个布尔类型数据,如果输入的值不是 true 或 false,会抛出 InputMismatchException 异常。
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个布尔值(true/false):"); boolean b = scanner.nextBoolean(); System.out.println("你输入的布尔值是:" + b);
上面的代码运行结果:
请输入一个布尔值(true/false):true 你输入的布尔值是:true
Scanner 还提供了一个 findInLine() 方法来读取正则表达式。该方法可以读取控制台输入中第一次出现的正则表达式,并返回一个匹配的字符串。
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个正则表达式:"); String pattern = scanner.findInLine("\d+"); System.out.println("你输入的正则表达式匹配的字符串是:" + pattern);
上面的代码运行结果:
请输入一个正则表达式:Hello 123 World! 你输入的正则表达式匹配的字符串是:123
以上就是 Scanner 类的一些常用操作,希望对大家学习 Java 有所帮助。
Atas ialah kandungan terperinci Java中的Scanner操作详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!