动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

一文学会Scanner 类

05-28 17:27 735浏览
举报 T字号
  • 大字
  • 中字
  • 小字

Java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。

下面是创建 Scanner 对象的基本语法:

Scanner s = new Scanner(System.in);

接下来我们演示一个最简单的数据输入,并通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据:

使用 next 方法:

import java.util.Scanner; 
 
public class TestScanner1 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
        System.out.println("next方式接收:");
        // 判断是否还有输入
        if (scan.hasNext()) {
            // next方式接收字符串
            String str1 = scan.next();
            System.out.println("输入的数据为:" + str1);
        }
    }
}

执行以上程序输出结果为:

next方式接收:

你好 java

输入的数据为:你好

可以看到 java 字符串并未输出,接下来我们看 nextLine。

使用 nextLine 方法:

import java.util.Scanner;
 
public class TestScanner2 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // nextLine方式接收字符串
        System.out.println("nextLine方式接收:");
        // 判断是否还有输入
        if (scan.hasNextLine()) {
            // 从键盘接收数据
            String str2 = scan.nextLine();
            System.out.println("输入的数据为:" + str2);
        }
    }
}

执行以上程序输出结果为:

nextLine方式接收:

你好 java

输入的数据为:你好 java

可以看到 java字符串输出。

如果要输入 int 或 float 类型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取:

import java.util.Scanner;

public class TestScanner3 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
        int i = 0;
        float f = 0.0f;
        System.out.print("输入整数:");
        if (scan.hasNextInt()) {
            // 判断输入的是否是整数
            i = scan.nextInt();
            // 接收整数
            System.out.println("整数数据:" + i);
        } else {
            // 输入错误的信息
            System.out.println("输入的不是整数!");
        }
        System.out.print("输入小数:");
        if (scan.hasNextFloat()) {
            // 判断输入的是否是小数
            f = scan.nextFloat();
            // 接收小数
            System.out.println("小数数据:" + f);
        } else {
            // 输入错误的信息
            System.out.println("输入的不是小数!");
        }
    }
}

执行以上程序输出结果为:

输入整数:12

整数数据:12

输入小数:1.2

小数数据:1.2

我们从上面的实例可以得出结论:Scanner 是一个基于正则表达式的文本扫描器,可以从文件,输入流,字符串中解析出基本类型和字符串类型的值。Scanner 类提供了多个构造器,不同的构造器可以接受文件,输入流,字符串作为数据源,用于从文件,输入流字符串中解析数据。对于Scanner的全面教程我们可以观看动力节点在线的视频课程,掌握更多的Scanner类的相关知识。

0人推荐
共同学习,写下你的评论
0条评论
杨晶珍
程序员杨晶珍

98篇文章贡献357785字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Java面试题及答案整理

提枪策马乘胜追击04-21 20:01

Spring常见面试题

代码小兵92504-17 16:07

Java零基础实战项目——五子棋

代码小兵98804-25 13:57

Java string类详解

杨晶珍05-11 14:54

6道经典算法面试题

杨晶珍05-12 16:39

发评论

举报

0/150

取消