next()和nextLine()的区别
1、next()
:一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。所以 next() 不能得到带空格的字符串。
使用 nextInt() 方法时,与 next() 方法类似,只是它的返回值是 int 类型的,依旧将空格看作是两个输入的数据的间隔。
2、nextLine()
:是遇到回车符才结束,所以可以得到带空格的字符串。
public class Test {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("使用next()方法,将空格作为间隔符。输入为:");
while (sc.hasNext()) {
System.out.print("输出为:");
String n = sc.next();
System.out.print(n);
}
}
}
public class Test {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("使用nextLine()方法,将空格作为间隔符。输入为:");
while (sc.hasNext()) {
System.out.print("输出为:");
String n = sc.nextLine();
System.out.print(n);
}
}
}
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入字符串(next):");
String str = input.next();
System.out.println(str);
System.out.println("请输入字符串(nextLine):");
String str1 = input.nextLine();
System.out.println(str1);
}
}
如图所示,当我们输入javaweb spring springmvc
(每个中间用空格分隔)并按回车后。调用input.next()
方法时,会扫描输入的字符串,当扫描到第一个空格时将空格前面的javaweb
输出并结束;调用input.nextLine()
方法时,接着从javaweb
后的空格开始扫描,一直到扫描到回车符停止,将回车符前的字符串输出(包括第一个空格)。
欢迎转载学习,只需注明文章出处即可(https://www.cnblogs.com/gyunf/)
,谢谢!