好用的java工具类——用户交互Scanner

2022-10-25 17:49:08 浏览数 (1)

好用的java工具类——用户交互Scanner

我们在java编程中难免需要用到键盘输入的交互变量

java提供好了一个Scanner类来获取用户的输入

Scanner讲解

Scanner属于外部类,我们在使用前需要导入类

代码语言:javascript复制
	import java.util.Scanner;

在导入类之后,我们需要定义一个Scanner类型的变量来存储我们所输入的值,这个变量没有类型

输入下列代码之后,系统会自动收纳你的输入: scanner是具有缓存空间的;

当一次输入多个时,scanner自动收纳并在后面使用;

当一次输入并使用后,scanner会再次等待输入并使用;

代码语言:javascript复制
Scanner name = new Scanner(System.in);

Scanner的使用通常需要赋值给其他变量

该被赋值变量需要设置类型,并要求与Scanner输入的类型一致

我们可以采用name.hasNext()或name.hasNextLine()来判断是否存在输入

(除hasNext,hasNextLine外,存在hasNextInt,hasNextDouble等判断输入类型的语句)

代码语言:javascript复制
//如果Scanner有内容,执行下列语句
if(name.hasNext()){
    //以next的形式接收s的内容
    String str = s.next();
    System.out.print("输入的内容为:"   str);
}
代码语言:javascript复制
//如果Scanner有内容,执行下列语句 
if(s.hasNextLine()){
    //以nextLine的形式接收s的内容
    String str = s.nextLine();
    System.out.println("你输入的数据为:"   str);
  }
代码语言:javascript复制
//如果Scanner有内容且为整数,执行下列语句
if(s.hasNextInt()){
    //以nextInt的形式接收s的内容
    String str = s.nextInt();
    System.out.println("你输入的数据为:"   str);
  }

这里介绍一下next()和nextLine()的区别:

next():

  • 一定要读取有效字符后才能结束输入
  • 对输入有效字符前的空白区域,next将其省略
  • 将空白符作为结束符
  • next不能完全读取含有空格的变量

nextLine():

  • 以enter为结束符
  • 可以获取空白部分

结束语

Scanner是我们java学习中很重要的一步,我们通过Scanner认识到了人机交互。

0 人点赞