一、Scanner类简介
Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。
简介
Scanner类是java.util包中的一个类
作用
常用于控制台的输入,当需要使用控制台输入时即可调用这个类
二、Scanner类的用法
使用方法
1、首先需要构造一个Scanner类的对象,并且与标准输入流System.in关联
Scanner sc=new Scanner(System.in);
2、调用Scanner类对象sc的方法从输入流中获取你需要的输入
说明:
当创建了一个Scanner类对象之后,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给对象sc,若要获取需要的内容,调用sc的方法即可
一、创建一个scanner类,并进行简单的int类型输入
import java.util.Scanner;//第一步需要先导入java.util.Scanner包;
public class ScannerText {
public static void main(String[] args) {
System.out.println("请输入一个数");
Scanner sc=new Scanner(System.in);//创建Scanner类的对象(基本语法)
int i = sc.nextInt();//创建一个变量用于接收(输入对象sc)的值,运行到此代码时控制台将等待用户输入一个int值,并给予变量i
System.out.println("你输入第一个的数字是:"+i);
int j = sc.nextInt();
int x = sc.nextInt();
System.out.println("你输入第二个的数字是:"+j);
System.out.println("你输入第三个的数字是:"+x);
sc.close();//需要手动关闭scanner,否则会一直占用空间
}
}
上述代码用到:
Scanner 对象名=new Scanner(System.in);//创建Scanner类的对象(基本语法)
int 变量名= 对象名.nextInt();//创建一个变量用于接收(输入对象)的值,运行到此代码时控制台将等待用户输入一个int值,并给予变量
对象名.close();//需要手动关闭scanner,否则会一直占用空间
二、nextLine()可以扫描到一行内容(当前行,光标所在行的内容,包括空格、回车)并作为一个字符串而被获取到。
import java.util.Scanner;;
public class ScannerText {
public static void main(String[] args) {
System.out.println("请输入一行字符串");
Scanner sc=new Scanner(System.in);
String str1 = sc.nextLine();//nextLine()可以扫描到一行内容(当前行,光标所在行的内容,包括空格、回车)并作为一个字符串而被获取到。
System.out.println("你输入的是:"+str1);
sc.close();
}
}
三、Scanner类主要提供获取输入数据的方法
- nextXxx():即获取下一个输入项。其中Xxx表示所要输入的数据的类型,比如Int、Long、Double…等基本数据类型。
- hasNextXxx():是否还有下一个输入项。
四、next()和nextLine()的区别(重点)
通过使用Scanner类的next()与nextLine()方法获取输入的字符串,在读取之前一般需要使用hasNext()与hasNextLine()进行判断是否还有输入的数据。
五、hasNextLine()
hasNextLine()属于布尔类型,返回true或者false。用于判断是否输入完成。