一、Scanner 对象
之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner 是Java5的新特征,我们可以通过Scanner类来获取用户的输入。作用于控制台的输入输出与C里的scanf类似。(个人理解)
二、Scanner的用法
1、构造一个Scanner 类的对象,并且与标准输入流Sytem.in关联。
基本语法为:Scanner s = new Scanner (System.in) //创建了一个Scanner对象,Scanner为类名,s为对象名。
2、使用Scanner类相关的方法从控制台获取你需要的输入数据。//控制台也叫命令行,当你使用scanner方法后控制台会等待你输入数据,敲回车结束一个数据的输入。
三、常用的方法
1.nextLine()可以扫描到一行内容(当前行,光标所在行的内容,包括空格、回车)并作为一个字符串而被获取到
next()获得有效字符串后遇到的第一个空格就会结束读取。比如,输入hello world.最终的输出结果为hello。
import java.util.Scanner;public class demo04 {public static void main(String[] args) {//创建一个扫描器对象,用于接收键盘数据Scanner scan = new Scanner(Scanner.in);System.out.println("使用next方式接收:");//使用next方式接收String str = Scanner.nextLine();System.out.println("输出的内容为:"+str);//及时关闭IO流的类,否则会一直占用资源Scanner.close();}}
2、nextInt()只读取数值,读取完后 没有读取并且光标放在本行。nextDouble()的用法同理nextInt(),注意:nextInt无法读取小数,否则会报错。
每次可以只输入一个数字,回车确认,一个数字只能被一个nextInt读取。
也可以输入一组数字,例如:“78 484 44”,每个数字之间用空格(一个或多个空格)隔开,可被多个nextInt()读取,空格及回车不会被读取。
Scanner scan=new Scanner(System.in);int i = scan.nextInt();double d = scan.nextDouble();