Scanner概述
一个可以解析基本类型和字符串的简单文本扫描器。
Scanner类的功能:可以实现键盘输入数据,到程序当中。属于引用类型
引用类型的一般使用步骤
1.导包
- 使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。
- 注意:如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。
- 只有java.lang包下的内容不需要导包,其他的包都需要import语句。
- 格式:
import 包名.类名;
2.创建对象
格式:
类名称 对象名= new 类名称();
举例:
Scanner sc= new Scanner(System.in);
3.调用方法
调用该类的成员方法,完成指定功能。
格式:
变量名.方法名();
举例:
int i= sc.nextInt(); // 接收一个键盘录入的整数
Scanner类的使用步骤
1.导包
import java.util.Scanner;
2.创建对象
Scanner sc= new Scanner(System.in);
3.使用对象
获取键盘输入的一个int数字:int num= sc.nextInt(); 获取键盘输入的一个字符串:String str = sc.next();
import java.utli.Scanner;//1.导包
public class Demo01Scanner { public static void main(String[] args) { // 2. 创建 // 备注:System.in代表从键盘进行输入 Scanner sc = new Scanner(System.in); // 3. 获取键盘输入的int数字 int num = sc.nextInt(); System.out.println("输入的int数字是:" + num); // 4. 获取键盘输入的字符串 String str = sc.next(); System.out.println("输入的字符串是:" + str); } }
Scanner类练习一:键盘录入两个数据并求和
题目:
- 键盘输入两个int数字,并且求出和值。
思路:
- 既然需要键盘输入,那么就用Scanner
- Scanner的三个步骤:导包、创建、使用
- 需要的是两个数字,所以要调用两次nextInt方法
- 得到了两个数字,就需要加在一起。
- 将结果打印输出。
import java.util.Scanner;//1.导包
public class Demo02ScannerSum { public static void main(String[] args) { //2.创建 Scanner sc = new Scanner(System.in); //3.使用 System.out.println("请输入第一个数字:"); int a = sc.nextInt(); System.out.println("请输入第二个数字:"); int b = sc.nextInt(); int result = a + b; System.out.println("结果是:" + result); } }
Scanner练习二:键盘输入三个数字取最值
题目:
键盘输入三个int数字,然后求出其中的最大值。
思路:
- 既然是键盘输入,肯定需要用到Scanner
- Scanner三个步骤:导包、创建、使用nextInt()方法
- 既然是三个数字,那么调用三次nextInt()方法,得到三个int变量
- 无法同时判断三个数字谁最大,应该转换成为两个步骤:
4.1 首先判断前两个当中谁最大,拿到前两个的最大值
4.2 拿着前两个中的最大值,再和第三个数字比较,得到三个数字当中的最大值 - 打印最终结果
import java.utli.Scanner;
public class Demo03ScannerMax { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入第一个数字:"); int a = sc.nextInt(); System.out.println("请输入第二个数字:"); int b = sc.nextInt(); System.out.println("请输入第三个数字:"); int c = sc.nextInt(); // 首先得到前两个数字当中的最大值 int temp = a > b ? a : b; int max = temp > c ? temp : c; System.out.println("最大值是:" + max); } }