本文主要是介绍【JAVA】Scanner的next()、nextInt()、nextLine()读取机制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
nextInt():读取一个整数,以空格键、Tab键或Enter键等结束符结束。
PS:
- 不会读走结束符!
- 会自动跳过前面的结束符
- 如果输入多个数字中间用空格隔开,则只会读取第一个数字,下个nextInt()将会直接读取数字跳过输入
例如:
输入“123”实际输入为“123\n”,nextInt只会读取123,“\n”便留在缓存区等待
next():读取一个字符串,以空格键、Tab键或Enter键等结束符结束。
PS:
- 不会读走结束符!
- 会自动跳过前面的结束符直到读取一个有效的字符串之后,next()方法才会将其后输入的空格键、Tab键或Enter键等视为结束符。
nextLine():读取一个字符串,以Enter键结束符结束。
PS:
- nextLine()的结束符只是Enter键!
- nextLine()的结束符也会被nextLine()读取,但是它并不会作为方法返回值的一部分,只是单纯吸收!
- 如果nextLine()之前用了nextInt() / nextDouble() / next() 等方法,这些方法遗留在缓冲区的空格字符就会被nextLine()读走,此时就会造成一个”数据无法读取”的现象,但其实不是的,它是有读取数据的,只不过它读取的是上一个nextInt() / nextDouble() / next() 等方法遗留下来的结束符!
这篇关于【JAVA】Scanner的next()、nextInt()、nextLine()读取机制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!