Scanner对象
-
之前我们学的基本语法中并没有实现程序和人机交互,但是Java给我们提供了这样一个工具类,我们可以获取用户输入。Java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
-
基本语法
1 Scanner s = new Scanner(System.in)
- 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextline()判断是否还有输入的数据
1 package Day07; 2 3 import java.util.Scanner; 4 5 public class Java07_1 { 6 public static void main(String[] args) { 7 //创建一个扫描对象,用于接收键盘数据 8 Scanner scanner = new Scanner(System.in); 9 System.out.println("使用next方式接收数据"); 10 //判断用户有没有输入字符床 11 if (scanner.hasNext()) 12 { 13 //使用next方式接收 14 String str = scanner.next(); 15 System.out.println("输出内容为" + str); 16 } 17 //凡是属于IO流的类,如果一直不关闭会持续占用资源 18 scanner.close(); 19 } 20 }
1 package Day07; 2 3 import java.util.Scanner; 4 5 public class Java07_2 { 6 public static void main(String[] args) { 7 Scanner scanner = new Scanner(System.in); 8 System.out.println("使用nextLine方式接收数据:"); 9 if (scanner.hasNextLine()){ 10 String str=scanner.nextLine(); 11 System.out.println("输出内容为:"+str); 12 } 13 scanner.close(); 14 } 15 }
Scanner对象
next()
-
一定要读取有效字符后才可以结束输入
-
对输入有效字符之前遇到的空白,next()方法会自动将其去掉
-
只有输入有效字符之后才将其后面输入的空白作为分隔符或者结束符
-
Next()不能得到带有空格的字符串
nextLine()
-
以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
-
可以获得空白