Scanner类
-
主要用途
Scanner是用来获取用户在控制台输入的字符串,也可以获取一个文件中的字符串。 -
使用方法
这里暂时只演示最简单的数据输入,通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据。-
创建Scanner对象基本语法
Scanner sc = new Scanner(System.in);
-
使用 next 方法:
import java.util.Scanner; public class TestScanner { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //System.in代表键盘输入 //next方式接收字符串 System.out.println("next方式接收:"); //判断是否还有输入 if (sc.hasNext()){ String str1 = sc.next(); System.out.println("输入的数据为:" + str1); } sc.close(); } } ---*--- 输出结果: next方式接收: Hello World 输入的数据为:Hello
注意:这里的 World 并没有输出
-
使用 nextLine 方法
import java.util.Scanner; public class TestScanner { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 从键盘接收数据 // nextLine方式接收字符串 System.out.println("nextLine方式接收:"); // 判断是否还有输入 if (sc.hasNextLine()) { String str2 = sc.nextLine(); System.out.println("输入的数据为:" + str2); } sc.close(); } } ---*--- 输出结果: nextLine方式接收: Hello World 输入的数据为:Hello World
注意:这里的 World 输出了
-
-
下面说一下 next() 与 nextLine() 的区别
next();
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白字符,next() 方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白字符作为分隔符或者结束符。
- next() 不能得到带有空格的字符串。
- 可以看成获取一个连续的字符串。
nextLine();
- 以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白字符。
- 可以看成获取一行字符串,直到遇到 Enter 结束字符。