一、什么是Scanner类
Scanner 类是 Java 的一个类,用于创建可以从输入流中获取基本数据类型和字符串的对象。
二、Scanner引用数据类型
Scanner是一个引用数据,属于java.util包。Scanner用一种更方便的方式从各种输入源(如字符串、标准输入等)中获取基本数据类型和字符串。
作为引用数据,使用Scanner类需要实例化一个对象,在标准输入流(键盘输入)中读取数据。然后,可以调用不同的方法,如nextInt()、nextDouble、nextLine()。通常用构造一个函数来创建Scanner对象。
Scanner scanner = new Scanner(System.in);
三、使用方法
import java.util.Scanner;
public class practice03 {
public static void main(String[] args) {
Scanner Scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = Scanner.nextInt();
System.out.println("你输入的整数是:"+num);
Scanner.close();
}
}
在这个代码中,我首先创建了一个Scanner对象与标准输入流System.in关联,然后通过调用一个nextInt()方法来读取用户输入的整数值。
1、标准输入流(System.in)
它表示标准输入,允许在标准输入源读取字节数据,通常是键盘输入。
2、Scanner.nextInt()
Scanner.nextInt()是Scanner类的一个方法,用于从标准输入流中读取下一个整数值。当我调用Scanner.nextInt()时,它会扫描标准输入流(键盘输入),并试着解析下一个可以用的整数。如果找到一个有效整数,它会返回该整数值;如果输入流中下一个标记不是有效的整数,则会出现InputMismatchException 异常。
请输入一个整数:
g 99
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at com.edu.jsu.practice03.main(practice03.java:9)
3、Scanner.close()
使用Scanner
类从输入流(比如System.in
)中读取数据时,需要注意及时关闭Scanner
对象以释放资源。调用close()
方法会关闭这个底层的输入流,确保资源得到释放。