nextLine()和next()的区别:

  1. next方法像nextInt()、nextDouble()一样不能得到带空格的字符串前后都没有):

对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方***自动将其去掉,即next不会读取有效字符之前的空格、回车等字符,但是输入有效字符后,next()方法会将其后输入的空格键、Tab键或Enter键等视为结束符。

并会把Enter去掉。

  1. 而nextLine会读取任意字符:

会读取空格、回车等字符,nextLine()方法的结束符只是Enter键

当nextLine()前面有next()方法时,nextLine()会读取到被next()去掉的Enter而结束自己的读取

 

所以不是next()特殊,而是nextLine()特殊。next()、nextInt()、nextDouble()都可以以空格、tab作为结束符,且在有效字符输入之前不会读取到空格、tab

/****************************/

慎用  x.nextLine()

  /****************************/

输入字符串最好用   x.next()

/****************************/