Scanner对象
java.util.Scanner类用来获取用户的输入,由此实现程序和人的交互
基本语法
Scanner s = new Scanner(System.in);//创建Scanner对象
基本使用流程
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner s = new Scanner(System.in);//执行完这行代码之后,程序会停住等待用户输入数据
String str = s.next();//输出的字符串用next()方法接收
// String str = s.nextLine(); nextLine()方法也可以接收
//打印输入的结果
System.out.println("输出的数据是:" + str);
//凡是属于IO流的类使用完不关闭会占用后台资源,用close()方法关闭
s.close();
}
}
next()和nextLine()方法的区别
next()方法会将空格视为结束符,而nextLine()方法不会。例如当输入的值为 Hello Word时,用next()方法接收,接收的值是Hello;用nextLine()接收,接收的值是Hello Word。
next()和hasNext()的拓展方法
public class Demo01 {
public static void main(String[] args) {
/*
hasNextInt()方法可以判断输入的数是否为整数;
hasNextDouble()方法可以判断输入的数是否为浮点数;其他类型同理,hasNext()判断是否是字符串
nextInt()方法接收int类型数据;
nextDouble()接收double类型数据;其他类型同理,next()接收字符串
*/
Scanner s = new Scanner(System.in);
System.out.print("请输入:");
while(s.hasNextInt()){ //判断输入的类型是不是int
int i = s.nextInt();//接收int类型变量
System.out.println("输出的结果是整数:"+ i);
System.out.print("请再次输入:"); //如果一直输入int类型数据程序会一直运行
}
String str = s.next();//接收字符类型变量
System.out.println("输出的结果是字符串:" + str);
s.close();
}
运行结果:
请输入:10
输出的结果是整数:10
请再次输入:20
输出的结果是整数:20
请再次输入:s
输出的结果是字符串:s

浙公网安备 33010602011771号