Scanner 对象


scanner对象

next()

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

import java.util.Scanner;

public class Ten1 {
    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);
        }//输出hello(没有 world)
        //凡是属于IO流的类如果不关闭就会一直占用资源
        //要养成良好的习惯一用完就关掉
        scanner.close();

    }
}

输出:

nextLine()

  1. 以Enter为结束符,也意味着nextLine()方法返回的是输入回车之前的所有字符
  2. 可以获得空白
package com.scanner;

import java.util.Scanner;

public class Ten2 {
    public static void main(String[] args) {
        //从键盘接收数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用nextLine方式接收:");
        //判断是否还有输入
        if (scanner.hasNextLine()){
            String s = scanner.nextLine();
            System.out.println("输出的内容为:" +s);
        }//输出hello world
        //关闭
        scanner.close();
    }
}

输出:

后期可以不用if判断就直接输入

并且使用nextLine更多一点。因为可以输出回车前的所有字符串包括空格!