它们的作用都是读取从控制台输入的字符。
区别
- next() :从控制台输入的第一个有效字符开始读取,输入字符(串)前面和后面的Tab、空格、回车都不读取
- nextLine() :读取输入的全部字符,以回车作为结尾(不读取回车),字符(串)中的Tab、空格都会被读取。
注意next()和nextLine()的连用问题
由于next()不会读取字符(串)后面的Tab、空格、回车,所以,如果nextLine()在next()之后,则next()没有读取的Tab、空格、回车将由nextLine()读取。
如果只想读取输入的字符(串)而不读取Tab或者空格或者回车,则可采用next()自身的连用。
测试
案例1:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String s1, s2;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个字符串:");
s1 = scanner.next();
System.out.println("请输入第二个字符串:");
s2 = scanner.nextLine();
System.out.println("输入的字符串是:" + s1 + s2);
}
}
运行结果:
请输入第一个字符串:
hello
请输入第二个字符串:
输入的字符串是:hello
案例2:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String s1, s2;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个字符串:");
s1 = scanner.next();
System.out.println("请输入第二个字符串:");
s2 = scanner.next();
System.out.println("输入的字符串是:" + s1 + s2);
}
}
运行结果:
请输入第一个字符串:
hello
请输入第二个字符串:
world
输入的字符串是:helloworld