1.Java给我们提供了工具类,可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
2.基本语法:
Scanner s = new Scanner(System.in);
3.通过Scanner类的next() 与nextLine() 方法获取输入的字符串,在读取前一般使用hasNext()与hasNextLine() 判断是否还有输入的数据。
4.案例
(1)使用next()方法接收:
package com.wang.scanner;
//new Scanner 后自动导入包
import java.util.Scanner;
public class Demo01 {
//必须得要main方法
public static void main(String[] args) {
//创建扫描器对象,用于接收键盘数据
/*
码完new Scanner(System.in)后,
在分号后面按alt+enter自动补全 =前面的代码
*/
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:"); //执行完这句代码,程序会等待用户输入完毕
//判断用户有没有输入字符串
if (scanner.hasNext()==true) { //true可以省略
//使用next方式接收用户的输入存放到str中
String str = scanner.next();
System.out.println("输出的内容为:"+str);
}
/*
用完scanner后需要关闭,节约资源
凡是属于IO(输入输出)流的类如果不关闭会一直占用资源
*/
scanner.close();
}
}
结果:
(2)使用nextLine()方法接收,平时用得更多:
package com.wang.scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
//new Scanner对象,准备从键盘接收数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
if (scanner.hasNextLine()) { //判断是否还有输入,如果有下一行
String str = scanner.nextLine(); //就用nextLine接收用户的输入,保存在str里面
System.out.println("输出的内容为:"+str); //输出接收到的内容
}
//关闭
scanner.close();
}
}
结果:
3.next()和nextLine()方法的区别: