二,Scanner
Scanner类详解
在Java编程中,Scanner
类是一个简单的文本扫描器,它可以解析原始类型和字符串。Scanner
类提供了多种方法来获取输入的类型和内容。本文将详细探讨Scanner
类的用法、构造方法和成员方法,包括next()
、nextLine()
、nextInt()
等。
Scanner类概述
Scanner
类是java.util
包中的一个类,用于从InputStream
或Reader
中获取输入数据。
构造方法
Scanner
类的构造方法允许你指定输入流的来源。
示例代码
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // 从标准输入流System.in创建Scanner
System.out.println("Enter an integer: ");
int number = sc.nextInt(); // 读取下一个整数
System.out.println("You entered: " + number);
}
}
成员方法
Scanner
类提供了多种方法来获取不同类型的输入。
获取字符串
next()
:获取下一个完整的输入项,忽略空格和换行符。nextLine()
:获取下一个完整的输入行,包括行尾的换行符。
示例代码
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // 从标准输入流System.in创建Scanner
System.out.println("Enter a line: ");
String line = sc.nextLine(); // 读取下一行文本
System.out.println("You entered: " + line);
}
}
获取数值
nextInt()
:获取下一个整数。nextDouble()
:获取下一个双精度浮点数。
示例代码
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //从标准输入流System.in创建Scanner
System.out.println("Enter an integer: ");
int number = sc.nextInt(); //读取下一个整数
System.out.println("You entered: " + number);
System.out.println("Enter a double: ");
double d = sc.nextDouble(); //读取下一个双精度浮点数
System.out.println("You entered: " + d);
}
}
注意事项
Scanner
类默认使用空格和换行符作为分隔符,如果输入中包含空格或换行符,需要使用nextLine()
方法。nextInt()
、nextDouble()
等方法可以抛出InputMismatchException
,如果输入的类型不匹配。Scanner
类可以处理InputStream
或Reader
的输入。
总结
Scanner
类是一个强大的工具,用于从输入流中获取不同类型的数据。通过理解和正确使用Scanner
类,我们可以轻松地从控制台或文件中读取和解析数据。这些技能对于处理用户输入和文件处理非常重要。掌握Scanner
类对于编写高质量、可维护的Java代码至关重要。通过使用Scanner
类,我们可以编写更灵活和强大的输入处理程序。