Scanner对象

Scanner对象

  • java.util.Scanner 是Java5的新特征,我们可以通过Scanner类来获取用户的输入;

  • 基本语法

    Scanner s =new Svanner (System.in);

  • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据;

    • next () :

      • 1、一定要读取到有效字符后才可以结束输入;

      • 对输入有效字符之前遇到的空白,next()方法会自动将其去除;

      • 只有输入有效字符后才将其后面输入的空白作为分隔符或结束符;

      • next()不能得到有空格的字符串。

        package com.dufei.scanner;

        import java.util.Scanner;

        public class Demo01 {
          public static void main(String[] args) {
              //创建一个扫描器对象,用于接收键盘数据
              Scanner scanner = new Scanner(System.in);// alt enter
              System.out.println("使用next方式接收:");
              //判断用户有没有输入字符串
              if(scanner.hasNext()){
                  //使用next方法接收
                  String str = scanner.next(); //程序会等待用户输入完毕
                  System.out.println("输出的内容为:"+str);

                  //凡是属于IO流的类,如果不关闭会一直占用资源,要养成好习惯,用完就关掉
                  scanner.close();
              }
                }
        }
    • nextLine():

      • 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符;

      • 可以获得空白。

        package com.dufei.scanner;

        import java.util.Scanner;

        public class Demo02 {
          public static void main(String[] args) {
              //创建一个扫描器对象,用于接收键盘数据
              Scanner scanner = new Scanner(System.in);// alt enter
              System.out.println("使用nextLine方式接收:");

              //判断用户有没有输入字符串
              if(scanner.hasNextLine()){
                  //使用nextLine方法接收
                  String str = scanner.nextLine();//程序会等待用户输入完毕,是否有下一行?
                  System.out.println("输出的内容为:"+str);

                  //凡是属于IO流的类,如果不关闭会一直占用资源,要养成好习惯,用完就关掉
                  scanner.close();
              }
          }
        }
package com.dufei.scanner;

import java.util.Scanner;

public class Demo03{
  public static void main(String[] args) {
      //创建一个扫描器对象,用于接收键盘数据
      Scanner scanner = new Scanner(System.in);// alt enter
      System.out.println("请输入数据:");


          String str = scanner.nextLine();//程序会等待用户输入完毕,是否有下一行?
          System.out.println("输出的内容为:"+str);

          //凡是属于IO流的类,如果不关闭会一直占用资源,要养成好习惯,用完就关掉
          scanner.close();

  }
}
上一篇:java console控制台next()与nextLine()区别


下一篇:Java scanner 类的常用方法