Scanner 键盘输入流 nextLine() 和next() 的区别

Posted 1314htq-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scanner 键盘输入流 nextLine() 和next() 的区别相关的知识,希望对你有一定的参考价值。


import java.util.Scanner; public class demo2 { public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in); System.out.println("通过next()方法获取键盘输入"); //判断用户有没有输入字符串 if(scanner.hasNext()){ String str = scanner.next(); System.out.println(str);//这里我们输入的hello world,但是只打印了hello } //凡是IO流的类如果不关闭一直会占用资源 scanner.close(); } }

  

import java.util.Scanner;

public class demo1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用nextLine接收用户输入");
        //用if判断用户有没有输入
        if(scanner.hasNextLine()){
            //如果有值输入的话就给str
            String  str = scanner.nextLine();
            System.out.println(str);//这里我们输入的hello world,但是打印了hello  hello world
        }
        scanner.close();



    }
}

next(): 

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

nextLine():

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

 

以上是关于Scanner 键盘输入流 nextLine() 和next() 的区别的主要内容,如果未能解决你的问题,请参考以下文章

Scanner类的next() 和nextLine()的区别

Scanner类的next() 和nextLine()的区别

Scanner类的next() 和nextLine()的区别

Scanner类的next() 和nextLine()的区别

用户键盘输入模块java.util.Scanner

Scanner(键盘录入)