最近在重温java基础知识的时候,用到了Scanner进行控制台输入,当时在这个地方徘徊了一会儿,这里我把next()、nextInt()和nextLine()的区别作了整理,希望能帮助到有需要的学者,大帅估计在某些面试当中也可能会考到:
区别一:
1.next():读取结果为String型;
2.nextInt():读取结果为int型;
3.nextLine():读取结果为String型。
区别二:
1.next():不能读取两个字符之间的空格,同时会将光标放在输入字符后面,并且在同一行;
2.nextInt():使用该方法的时候,光标会在读取的数字后面,并且在同一行;
3.nextLine():读取输入的空格,直到以\n结尾为止。当输入完成的时候,光标会移到下一行开始的位置处。
区别三:程序显示(直接上核心代码)
System.out.println("请输入数字:");
Scanner n = new Scanner(System.in);
int score= n.nextInt();
System.out.println(score);
System.out.println("请输入字符串:");
Scanner m = new Scanner(System.in);
String score1= m.next();
System.out.println(score1);
System.out.println("请输入字符串:");
Scanner l = new Scanner(System.in);
String score2= l.nextLine();
System.out.println(score2);
输出结果为:
总结:从控制台输入的数据,我们可以看到nextLine()可以读取有效字符和无效字符,而next()只能读取有效字符无效字符自动过滤掉,nextInt()只能读取整型数据。
异常结果显示:
分析:nextInt()只接收整型数据,接收其它数据类型的字符就会出错。