Java中Scanner类中next与nextLine的区别

tech2022-10-12  104

1、next的意思是接受文字(有效文字),next不接收空格回车以及Tab。(当你输入空格回车Tab的时候接收就会终止,并不会存入到String 变量中去)特别的情况:当在输入的时候先输入了几个空格然后再输入String中内容得时候String变量实际接受的是空格后面的内容,并没有接受前面输入的空格,这部分叫做有效输入。

public static void main(String[]args){ Scanner scanner = new Scanner(System.in); System.out.println("请输入next输入的内容"); String str1 = scanner.next(); System.out.println("next的内容是:"+str1); }

因为中间输入了空格所以后面的123没有保存到str1中 因为前面有空格所以有效输入是后面的123

2、nextLine的意思是接受下一行文字,它可以接收输入的空格,但是不接收回车(以回车终止)

public static void main(String []args){ Scanner scanner = new Scanner(System.in); System.out.println("请输入nextLine输入的内容"); String str1 = scanner.nextLine(); System.out.println("nextLine的内容是:"+str1); }

3、当next与nextLine同时使用时 (1)next在nextLine的前面时

public static void main(String []args){ Scanner scanner = new Scanner(System.in); System.out.println("请输入next输入的内容"); String str2 = scanner.next(); System.out.println("请输入nextLine输入的内容"); String str1 = scanner.nextLine(); System.out.println("next的内容是:"+str2); System.out.println("nextLine的内容是:"+str1); }

同时满足两个终止条件。 (2)next在nextLine的后面时

public static void main(String []args){ Scanner scanner = new Scanner(System.in); System.out.println("请输入nextLine输入的内容"); String str2 = scanner.nextLine(); System.out.println("请输入next输入的内容"); String str1 = scanner.next(); System.out.println("next的内容是:"+str2); System.out.println("nextLine的内容是:"+str1); }

这时候两者皆可以使用。 但我还是觉得最好两者不要同时出现。

最新回复(0)