Scanner

Scanner与其名称一样,是Java中的一个文本扫描仪,它可以扫描控制台端输入的信息,因此当需要程序与用户进行交互时,可以使用到Scanner类进行数据的输入与扫描,具体如下。

初始化Scanner

//构造扫描仪
Scanner scanner = new Scanner(System.in);

next()方法与hasNext()方法

用法

hasNext()和next()效果其实是一样的,系统都会等待输入下一个字符串,只是返回值不同,hasNext()可以用来判断用户是否进行了输入,当检测到输入会返回true,否则返回false;
而next()返回输入的字符串,但是只能接收连续的字符串,当遇到空格时就停止了输入。
如下:

if(scanner.hasNext()){
   String str = Scanner.next();
   System.out.println(str);
}
scanner.close();

next()方法注意事项

  1. 一定要读取到有效字符才可以结束输入;
  2. 对输入字符前遇到的空白,会自动去除;
  3. 只有输入有效字符后才将其后边输入的空白作为分隔符或结束符;
  4. next()方法不能得到带有空白的字符。

nextLine()方法与hasNextLine()方法

用法

nextLine()方法接收用户输入可以接收不连续带空格的字符串;
而hasNextLine()方法可以用来判断用户是否进行了输入。如下

if(scanner.hasNextLine()){
   String str = Scanner.nextLine();
   System.out.println(str);
}
scanner.close();

注意事项

  1. nextLine()以enter为结束符,也就是说nextLine()方法返回的是输入enter之前的所有字符;
  2. 可以获得空白。

nextInt()方法与hasNextInt()方法、nextFloat()方法与hasNextFolat()方法

nextInt()方法用来接收用户输入的int型数据,而hasNextInt()方法用来判断是否输入了int型数据;
同理,nextFloat()方法与hasNextFolat()方法同上。