Java--next()方法和nextLine()方法的区别
首先我们来看一下代码:
import java.util.Scanner; public class Demo01 { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); System.out.println("请输入:"); String str2 = scanner.nextLine();//用nextLine方法接收 System.out.println("输出的内容为:"+str2); System.out.println("请输入:"); String str1 = scanner.next();//用next方法接收 System.out.println("输出的内容为:"+str1); scanner.close(); } }
接下来看一下运行效果:
第一次输入:两个输入都无空格
两个输出都和输入一样。
第二次输入:两个输入都有空格
前一个输出与输入一致,后一个只输出了空格前的内容。
然后nextLine方法和next方法交换一下位置
import java.util.Scanner; public class Demo01 { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); System.out.println("请输入:"); String str1 = scanner.next();//用next方法接收 System.out.println("输出的内容为:"+str1); System.out.println("请输入:"); String str2 = scanner.nextLine();//用nextLine方法接收 System.out.println("输出的内容为:"+str2); scanner.close(); } }
再来看一下运行效果:
第一次输入:两个输入都……显然,它并没有给我输入两次的机会……
输入第一个后回车输出结果后直接运行结束了……
第一个输入有空格,结果分两次输出了,当然也是仅有一个输入就运行结束了……
结合上面几次运行效果,可以总结出next方法和nextLine方法的一些区别:
next():
-
一定要读取到有效字符后才可以结束输入
-
对输入有效字符之前遇到的空格,next()会自动将其去掉
-
只有输入有效字符后才将其后面输入的空格作为分隔符或者结束符
-
next()不能得到带有空格的字符串
nextLine():
-
以Enter为结束符,也就是说,nextLine()方法返回的是输入回车之前的所有字符
-
可以获得有空格的字符串
标签:nextLine,Java,--,System,next,println,输入,out From: https://www.cnblogs.com/ky715/p/17547195.html