java中next()与nextLine()的区别

  next():一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符,所以next()方法不能得到带空格的字符串;

在以下代码中输入为:abc 123efd  &@com

import java.util.Scanner;

public class Practice{

	public static void main(String[] args) {
         Scanner input = new Scanner(System.in);
         System.out.print("请输入字符串:");
         String sc = input.next();
         System.out.println("字符串输出为:" + sc);
         }
}

输出为:

请输入字符串:abc 123efd  &@com
字符串输出为:abc

nextLine():结束符是Enter键,它返回的是Enter键之前的所有字符,是可以得到带空格的字符串的。

在以下代码中输入为:abc 123efd  &@com

import java.util.Scanner;

public class Practice {

	public static void main(String[] args) {
         Scanner input = new Scanner(System.in);
         System.out.print("请输入字符串:");
         String cc = input.nextLine();         
         System.out.println("字符串输出为:" + cc); 
     }
}

输出为:

请字符串:abc 123efd  &@com
字符串输出为:abc 123efd  &@com

可见nextLine()方法输出了带有空格的字符串,而next()方法遇到空格符就认为字符串输入结束了。

你可能感兴趣的:(java)