Java-Scanner:Next和NextLine

浅析Scanner:next和nextLine区别

Scanner 下的next和nextLine方法区别

next() 读取数据时如果遇到 空格,tab,回车 就停止读取了,不读取符号
nextLine() 读取数据时如果遇到回车,才停止读取 读取回车符 并且丢掉回车符
所有的输入都只在键入回车符的时候会停止

同时我们得明白,Scanner的本质还是一个流,流技术在基础下会讲 咱们现在不用深究 只需要明白一点 数据是输入在流管道里面的
只有当按下回车的时候 流管道的数据输入才停止 但是读取数据按照上述两个规则读取 举个例子

input.next();
input.nextLine();
我通过上述两个方法区往流管道里面写数据
abc空格123回车
流管道发现了回车,next方法结束输入,同时读取数据 由于只读取到空格
所以 sc.next()读取到的内容是abc
此时流管道里面剩下
空格123回车
接下来执行sc.nextLine()方法
发现流管道里面有回车 所以sc.nextLine()方法直接进行读取(你不再拥有输入机会) 读取到了 空格> 123回车(这个方法会读取回车符 然后丢掉回车符)
所以sc.nextLine()读取的内容是 空格123

猜你喜欢

转载自blog.csdn.net/qq_38557583/article/details/115293583
今日推荐