Java教程

2021/9/29-java中next系列方法

本文主要是介绍2021/9/29-java中next系列方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

next系列的方法,他们的作用都是从键盘中接收数据。当程序执行到他们的时候,在命令行中就开始等待键盘输入了,而且要注意的是,这一系列方法的结束标志都是’\n’ 也就是回车(只有回车是终止标志,tab不是),他们从键盘中接收输入的内容,都是读到回车之后结束方法的调用。这几个方法都是不会读入最后的那个回车\n的。
一,next()方法
next()不光是在接收键盘输入的内容,而且还是在进行扫描分割。比如next()默认的分隔符时空格,程序第一次执行到next()则开始从键盘输入,它会一直接收从键盘中打入的内容直到读取到回车,此回车并不会被读取键盘中输入的内容就放入了缓存区,这里我们再引入一个光标(cursor)的概念,在汇编中我们学过电脑就是通过光标一点点读取内容的。光标指向哪里,就读哪一个字符,当从键盘中输入完内容之后,next()方法开始对输入进来的内容进行扫描分割,光标从输入的内容最开始开始向后扫描,就是光标一点点地向后移动。当光标扫描到第一个分隔符(默认是空格)停止扫描,会创建一个String类的对象,里面存储的就是扫描的内容(不包含空格分隔符)返回创建的String对象的引用给n,然后输出了n字符串
但是要注意,当前光标还在之前键盘输入内容的行中,光标后面还有内容没有读取,所以当循环又执行到了next()方法后,计算机是不会再从键盘中读取数据的,因为当前光标还指向着字符。所以当再次到next()方法后,会继续从光标的位置扫描,但是后面全都是空格,next()如果没有扫描读入非空格或非回车字符是不会创建String对象并返回的。所以光标会继续向后扫描,并不会结束next调用向下执行输出,然后当扫描到第一个非空格字符,过程和之前就一样了
后面就都一样了,当光标已经扫完了所有的字符后,就会读取输出最后一个字符之后,当前光标的位置就又是空了,然后再执行到next()方法时,就又可以从键盘中输入数据了
二,nextLine()方法
nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号(即。它读到行尾)。读取输入后,nextLine()将光标定位在下一行。所以它和next()的区别就是它没有分隔符,直接扫描全部的键盘输入内容,并创建对象进行将其引用返回
三,nextInt()方法
  nextInt() 是取next() 然后把字符串解析成一个int数字。
它本质是调用了next()方法,然后将next()方法返回的字符串再解析成int型数字返回。
  hasNextInt() 是判断下次调用next()时否可以得到一个可以安全解析成int的字符串。下一个next()的返回值可以解析为一个数字,即符合数字的格式,那么返回true。注意当下一个字符串不能被解析成数字是,这个方法并不会返回false。
  由上面的解释可以发现nextInt和next()是很像的,它也是有分隔符的概念,过程和next()都一样,只是它是把得到的字符串给解析成Int返回,而且只能是数字的字符串,即可以解析成数字的字符串才能调用成功,否则会有异常。


这篇关于2021/9/29-java中next系列方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!