Scanner对象

Scanner对象

java.util.Scanner

通过Scanner类来获取用户的输入

使用hasNext()方式 与 hasNextLine() 方式 来判断是否还有输入的数据

使用next()方式 与 nextLine() 方式 接收键盘输入的数据的区别

next() :

  1. 一定读取到有效字符后才能结束
  2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
  3. 空格之前的有效字符能得到,空格之后的断开
  4. 不能得到带有空格的字符串. 输入hello world 只能得到hello得到(以空白为结束符。)

nextLine(): 用的多

  1. 以Enter为结束符
  2. 返回的是输入回车之前所有的字符 输入hello world 得到hello world
  3. 可以获得空白

注意点:

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

代码演示

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方式接收:");

        //判断用户有没有输入字符串
        //用 scanner.hasNext() 或者 scanner.hasNextLine() 判断是否还有输入的数据
        if (scanner.hasNext() == true){     //默认是true 可以不写 == true  如果还有下一行则执行大括号里的内容
            //用 str 通过 scanner.next()方式 接受用户的输入的字符串   /或者scanner.nextLine()
            String str = scanner.next();
            System.out.println("输入的内容为: " + str);
        }
        //用完scanner 要关闭,节省资源。
        //凡是属于IO流的类 如果不关闭会一直占用资源,要养成好习惯用完就关掉。例如scanner
        scanner.close();
        System.out.println("Hello World !");
    }
}
posted @ 2022-03-18 19:14  intelliyu  阅读(32)  评论(0编辑  收藏  举报