Java流程控制-Scanner对象

发布时间 2024-01-05 23:05:24作者: 网抑杰

Scanner对象

  • 我们可以通过 Scanner 类来获取用户的输入

  • 基本语法

    • Scanner s = new Scanner(System.in);
  • 通过 Scanner 类的 next() 与 nextLine() 方式来获取输入的字符串,在读取之前我们一般需要使用 hasNext() 与 hasNextLine() 判断是否还有输入的数据。

 

next()

  1. 一定要读取到有效字符后才可以结束输入。

  2. 对输入有效字符之前遇到的空白,next() 方式会自动将其去掉。

  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。

  4. next() 不能得到带有空格的字符串

package com.wang.scanner;

import java.util.Scanner;

public class Demo01 {

  public static void main(String[] args) {
      //创建一个扫描器对象,用于接受键盘数据
      Scanner scanner = new Scanner(System.in);

      System.out.println("使用next方式接收:");

      //判断用户有没有输入字符串
      if (scanner.hasNext()){
          //使用next方式接收
          String str = scanner.next();
          System.out.println("输出的内容为:"+str);
      }

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

 

nextLine()

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

  2. 可以获得空白

package com.wang.scanner;

import java.util.Scanner;

public class Demo02 {
  public static void main(String[] args) {

      //从键盘接收数据
      Scanner scanner = new Scanner(System.in);

      System.out.println("使用nextLine方式接收:");

      //判断是否还有输入
      if (scanner.hasNextLine()){
          String str = scanner.nextLine();
          System.out.println("输出的内容为:"+str);
      }

      scanner.close();
  }
}

 

package com.wang.scanner;

import java.util.Scanner;

public class Demo03 {
  public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
      System.out.println("请输入数据:");
      String str = scanner.nextLine();
      System.out.println("输入的数据为:"+str);
      scanner.close();
  }
}