我们通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
总的来说
- hasNext() 是检测 还有没有下一个输入
- next() 是指针移动到当前下标,并取出下一个输入
- nextLine() 把指针移动到下一行让然后取出当前这一行的输入
- hasNextLine() 检测下一行有没有输入
此外有两个注意事项
(一)next()方法与nextLine()方法的区别
Scanner类中,由这两个方法发起控制台的输入
- next()方法读取到空白符就结束;
- nextLine()读取到回车结束也就是“\r”
关于此,还有一个注意事项,用如下博主的博文:
nextLine()不要和其他next方法一起用!!!尤其nextLine()不要放在它们后面!!!
(二)hasNext()方法
关于hasNext()方法的运行原理,有一个博主总结的非常好:
hasNext()方法的原理