Scanner类的next()方法与nextLine()方法的区别

Scanner类的next()方法与nextLine()方法的区别


next():

  • 一定要读到有效字符之后才能结束输入。
  • 对输入字符之前遇到的空白,next() 方法会自动将其去掉。
  • 只有输入有效字符之后才将其后面输入的空白作为分隔符或者结束符。
  • 不能得到带有空格的字符串

nextLine():

  • 回车作为结束符,也就是说 nextLine() 方法返回的是输入回车之前的所有字符。
  • 可以获得空白,也就是说可以得到带有空白的字符串

演示示例如下:

import java.util.Scanner;

public class ScannerDemo {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        // 从键盘中输入一个带有空格的字符串"    Hello Java!"
        String str = sc.next();

        // 输出str
        System.out.println(str); // "Hello"
    }

}

程序运行结果为:

Hello

import java.util.Scanner;

public class ScannerDemo {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        // 从键盘中输入一个带有空格的字符串"    Hello Java!"
        String str = sc.nextLine();

        // 输出str
        System.out.println(str); // "	Hello Java!"
    }

}

程序运行结果为:

​ Hello Java!

上一篇:Scanner类的next()方法和nextLine()方法的异同点


下一篇:next()nextLine()以及nextInt()的区别及用法【转载】