java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。
next()、nextLine()、nextInt()是scanner内置的方法。
使用nextLine()方法时,不将空格看做是两个字符串的间隔,而是看作字符串的一部分,返回时,它作为String类型一并返回
使用next()方法时,将空格看作是两个字符串的间隔
使用nextInt()方法时,与next()方法类似,只是它的返回值是int类型的,依旧将空格看作是两个输入的数据的间隔
(当使用nexInt()方法时,只能输入int类型的数据。)
next() 与 nextLine() 区别
next():
- 1、一定要读取到有效字符后才可以结束输入。
- 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next() 不能得到带有空格的字符串。
nextLine():
- 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 2、可以获得空白。
如果要输入 int 或 float 类型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取:
String n=sc.nextLine(); String n=sc.next(); int n=sc.nextInt();
Scanner a=new Scanner(System.in); System.out.println("使用nextLine()方法,并且输入为:"); int n=a.nextInt(); System.out.println("输出为:"); System.out.println(n); Scanner b=new Scanner(System.in); System.out.println("使用nextLine()方法,并且输入为:"); String n=b.nextLine(); System.out.println("输出为:"); System.out.println(n);
Scanner c=new Scanner(System.in); String n=c.next(); System.out.println(n);