Java:Scanner类

1.类名称:java.util.Scanner

2.作用:常用于控制台的输入,当需要使用控制台输入时即可调用这个类


一:Scanner类的用法

使用步骤

  • 1、首先需要构造一个Scanner类的对象,并且与标准输入流System.in关联
Scanner sc=new Scanner(System.in);
  • 2、调用Scanner类对象sc的方法从输入流中获取你需要的输入

说明:当创建了一个Scanner类对象之后,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给对象sc,若要获取需要的内容,调用sc的方法即可


二:常用方法

1:next()

  • 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉
  • 从键盘中输入的内容就放入了缓存区,这里我们再引入一个光标(cursor)的概念,在汇编中我们学过电脑就是通过光标一点点读取内容的。光标指向哪里,就读哪一个字符
  • 当从键盘中输入完内容之后,next()方法开始对输入进来的内容进行扫描分割,光标从输入的内容最开始开始向后扫描,就是光标一点点地向后移动。当光标扫描到第一个分隔符(默认是空格)停止扫描,会创建一个String类的对象,里面存储的就是扫描的内容(不包含空格分隔符)返回创建的String对象的引用给n
  • 但是要注意,当前光标还在之前键盘输入内容的行中,光标后面还有内容没有读取,所以又执行next()方法,计算机是不会再从键盘中读取数据的,因为当前光标还指向着字符。所以当再次到next()方法后,会继续从光标的位置扫描,但是后面全都是空格,next()如果没有扫描读入非空格或非回车字符是不会创建String对象并返回的。所以光标会继续向后扫描,并不会结束next调用向下执行输出。
  • 当光标已经扫完了所有的字符后,就会读取输出最后一个字符,当前光标的位置就又是空了,然后再执行到next()方法时,就又可以从键盘中输入数据

在这里插入图片描述

2:nextLine()

在这里插入图片描述
该方法可以识别字符串中的空格以及回车。

注意:建议能不使用就尽量不要使用nextLine()。尽量使用next。因为有时会出现吃回车现象。

3:nextXxx()

举例:nextInt,nextDouble,nextByte(),nextFloat(),nextLong(),nextShot()
在这里插入图片描述


三:完整方法

方法 描述
+Scanner(sourse: File) 创建一个Scanner从指定文件输入
+Scanner(sourse: String) 创建一个Scanner从指定字符创输入
+close() 关闭Scanner
+hasNext(): boolean Scanner还有数据则返回true
+next(): String 读取下一个字符串
+nextLine(): String 读取一整行作为字符创返回
+nextByte(): byte 读取下一个Byte类型值
+nextShort(): short 读取下一个short类型值
+nextInt(): int 读取下一个int类型值
+nextLong(): Long 读取下一个Long类型值
+nextFloat(): float 读取下一个float类型值
+nextDouble(): double 读取下一个double类型值
+useDelimiter(pattern: String): Scanner 设置Scanner的分隔符,并返回Scanner

猜你喜欢

转载自blog.csdn.net/m0_51755061/article/details/115068967