Java--Scanner类

前言

        上一篇博客介绍了API的使用步骤和对API的简单介绍,通过API的查询,我们可以通过了解Scanner,来熟悉一下API,并且介绍一下使用Scanner类的步骤。

Scanner

简介

        一个可以解析基本类型和字符串的简单文本扫描器。 例如,以下代码使用户能够从 System.in 中读取一个数:

		Scanner sc = new Scanner(System.in);
		int i = sc.nextInt();

备注:System.in 系统输入指的是通过键盘录入数据

引用类型使用步骤

导包

        使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。 格式如下:

		import 包名.类名;
举例:
		import java.util.Scanner;

创建对象

        使用该类的构造方法,创建一个该类的对象。 格式如下:

		数据类型  变量名  =  new 数据类型(参数列表);
举例:
		Scanner sc = new Scanner(System.in);

调用方法

        调用该类的成员方法,完成指定功能。格式如下:

		变量名.方法名()
举例:
		int i = sc.nextInt(); // 接收一个键盘录入的整数

Scanner使用步骤

查看类

        java.util.Scanner:该类需要import导入后使用。

查看构造方法

        public Scanner(InputStream source) : 构造一个新的 Scanner ,它生成的值是从指定的输入流扫描的。

查看成员方法

        public int nextInt() :将输入信息的下一个标记扫描为一个 int 值。
使用Scanner类,完成接收键盘录入数据的操作,代码如下:

		**//1. 导包
		import java.util.Scanner;
		public class Demo01_Scanner {
		   public static void main(String[] args) {  
		     //2. 创建键盘录入数据的对象    
		     Scanner sc = new Scanner(System.in);    
		     //3. 接收数据    
		     System.out.println("请录入一个整数:");    
		     int i = sc.nextInt();    
		     //4. 输出数据    
		     System.out.println("i:"+i);    
		   }  
		}**

举例:

键盘录入两个数据并求和

代码如下:

		import java.util.Scanner;
		
		public class Test01Scanner {
		    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();
		        // 对数据进行求和
		        int sum = a + b;
		        System.out.println("sum:" + sum);
		    }
		}

键盘录入三个数据并获取最大值

代码如下:

		import java.util.Scanner;
		
		public class Test02Scanner {
		    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:" + max);
		    }
		}

使用场景

匿名对象

在使用Scanner的时候,经常会借用匿名对象使用,所以简单介绍一下匿名对象。
匿名对象:没有变量名的对象。创建对象时,只有创建对象的语句,却没有把对象地址赋值给某个变量,虽然是创建对象的简写法,但是应用场景是有限的,方法如下:

		new 类名(参数列表);
举例:
		new Scanner(System.in);

使用介绍

  1. 创建匿名对象直接调用方法,没有变量名。
  2. 一旦调用两次方法,就是创建了两个对象,造成浪费,请看如下代码。

小贴士:一个匿名对象,只能使用一次。

  1. 匿名对象可以作为方法的参数和返回值
    作为参数:
作为返回值
		class Test {
		    public static void main(String[] args) {
		        // 普通方式   
		        Scanner sc = new Scanner(System.in); 
		        input(sc);
		     
		        //匿名对象作为方法接收的参数
		        input(new Scanner(System.in));
		    }
		    public static void input(Scanner sc) {   
		        System.out.println(sc);    
		    }  
		}
	
作为返回值	
		class Test2 {
		    public static void main(String[] args) {  
		      // 普通方式   
		        Scanner sc = getScanner();
		     }
		   
		    public static Scanner getScanner() {  
		        //普通方式
		        //Scanner sc = new Scanner(System.in); 
		        //return sc;
		     
		        //匿名对象作为方法返回值
		        return new Scanner(System.in);
			}    
		}
发布了228 篇原创文章 · 获赞 315 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/Luojun13Class/article/details/84975929