【Java SE】七、用户输入

在 Java 当中,我们可以通过 导入Scanner 类来获取用户的输入。

Scanner s = new Scanner(System.in);

通过 Scanner 类的 next()nextLine() 方法获取输入的字符串,在读取前我们一般需要使用 hasNext()hasNextLine() 判断是否还有输入的数据。

import java.util.Scanner; // 使用前记得导入

public class Demo1 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        if(input.hasNext()) // 判断是否还有输入的数据
        {
            String str = input.next(); // String str = input.nextLine();
            System.out.println("输入的内容为" + str);
        }
        input.close(); // 在使用完后记得关闭
    }
}

两者的主要区别在于:

next():要读取到有效字符后才可以结束输入,而对输入有效字符之前遇到的空白,它会自动将其去掉,只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。该方法不能得到带有空格的字符串。

nextLine():以回车键为结束符,其返回的是输入回车之前的所有字符,因此该方法可以获得空白字符。

同理,hasNext()hasNextLine() 也是一样。

除了以上两种基本的字符串判断方法,Scanner 还提供了其他类型数据的判断方法,如 hasNextInt()hasNextFloat() 等。