常用类(2):Scanner类
常用类(2):Scanner类
Scanner类
1、通过jdk工具查出,Scanner类在util下,需要导包

2、键盘录入工具:Scanner
注意:不能以Scanner作为class文件名
//导包
import java.util.Scanner;
public class ScannerDemo1 {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//键盘录入一个int类型的数据
//在API中写出:public int nextInt()将输入的下一个标记扫描为int
int i = sc.nextInt();
System.out.println(i);
//键盘录入一个字符串
String s1 = sc.next();
System.out.println(s1);
}
}
执行结果如下:

3、在API中,Scanner类中也有另外一个键盘录入字符串:public String nextLine()
sc.next()和sc.nextLine()两个键盘录入字符串有什么区别?
使用sc.next()
//导包
import java.util.Scanner;
public class ScannerDemo1 {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//先输入一个整型再输入一个字符串
int i = sc.nextInt();
String s1 = sc.next();
System.out.println(i);
System.out.println(s1);
}
}
执行结果如下:
88
你好阿伟
88
你好阿伟
Process finished with exit code 0
使用sc.nextLine()
//导包
import java.util.Scanner;
public class ScannerDemo1 {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//先输入一个整型再输入一个字符串
int i = sc.nextInt();
String s = sc.nextLine();
System.out.println(i);
System.out.println(s1);
}
}
执行结果如下:
88
88
Process finished with exit code 0
/*
当输入88回车的时候,程序只会输出88,然后运行停止,而且输出结果多了一个空行
原因:nextLine()可以读取到特殊的符号,比如换行符;
当我们输入88,然后再回车,回车相当于换行符,被nextLine()读取了,
说明在String s = sc.nextLine();中,相当于把换行符传给了s,
然后输出就会多了一个空行。
*/

浙公网安备 33010602011771号