next()与nextLine()区别
两种接收方式
第一种
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("使用next方式接收");
if (sc.hasNext()) {
String str = sc.next();
System.out.println("输出的内容为:" + str);
}
sc.close();
}
}
使用next方式接收
hello world
输出的内容为:hello
第二种
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("使用nextLine方式接收");
if (sc.hasNextLine()) {
String str = sc.nextLine();
System.out.println("输出的内容为:" + str);
}
sc.close();
}
}
使用nextLine方式接收
hello world
输出的内容为:hello world
区别
next()
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next()不能得到带有空格的字符串。
nextLine()
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白。