目录

  • 1 什么是Scanner类
  • 2 Scanner类的对象创建
    • 1 查看类并导入类
    • 2 查看构造方法
    • 3 创建对象
  • 3 Scanner类的基本方法
    • 1 next() 方法
    • 2 nextLine() 方法
    • 3 next()以及nextInt()等 与 nextLine() 区别
    • 4 Scanner.close()的必要性

1 什么是Scanner类

scanner的中文翻译是扫描仪,顾名思义,Scanner类可以生成一个解析基本类型和字符串的文本扫描仪。

简单点说:我们可以通过 Scanner 类来获取用户的输入。

2 Scanner类的对象创建

1 查看类并导入类

//该类需要import导入后使用
java.util.Scanner;

2 查看构造方法

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

3 创建对象

Scanner scan = new Scanner(System.in);

3 Scanner类的基本方法

通过 Scanner 类的 next() 与 nextLine() 方法可以获取输入的字符串,在读取前一般需要使用 hasNext() 与 hasNextLine() 判断是否还有输入的数据。

1 next() 方法

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

程序输出结果:

next方式接收:
baidu com
输入的数据为:baidu

可以看到 com 字符串并未输出。

2 nextLine() 方法

import java.util.Scanner;public class ScannerDemo {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);}scan.close();}
}

程序输出结果:

nextLine方式接收:
baidu com
输入的数据为:baidu com

可以看到 com 字符串输出了。

3 next()以及nextInt()等 与 nextLine() 区别

next()以及nextInt()等:

  1. 一定要读取到有效字符后才可以按Enter键结束输入;
  2. 对输入有效字符之前遇到的空白,next()以及nextInt()等 自动将其去掉;
  3. 输入有效字符后,如果遇到空白,next()以及nextInt()等将从第一个空白处截断并去掉之后所有字符;
  4. next()以及nextInt()等,不读取“\n”,并将cursor放在本行中(可以在一行以空格分隔多个输入),因此如果想在next()以及nextInt()等后读取一行nextLine(),就必须在next()以及nextInt()等之后加上scan.nextLine();

nextLine():

  1. 不一定读取到有效字符,按Enter就可以结束输入;
  2. 以"\n"为结束符,读完后cursor在下一行,返回的是按Enter键结束输入之前的所有字符;

next() 不能得到带有空白的字符串,nextLine() 能得到带有空白的字符串。

如果要输入int或double类型的数据,在Scanner 类中同样有支持,但是在输入之前最好先使用 hasNextXxx() 方法验证是否还有输入以及输入类型是否正确,再使用 nextXxx() 来读取。

4 Scanner.close()的必要性

使用Scanner(system.in)时,使用完毕后,一定要关闭扫描器,因为system.in属于IO流,一旦打开,它一直在占用资源,因此使用完毕后切记要关闭。

Java Scanner类的介绍及使用相关推荐

  1. Java Scanner类的详细介绍(Java键盘输入)

    Java Scanner类的详细介绍(Java键盘输入) 一.Scanner类的简单使用 二.Scanner类的详细介绍 1.判断输入数据类型 2.next()与nextLine()的区别 3.求多个 ...

  2. java scanner类成员_Java Scanner类的使用示例

    1 Scanner的使用 JDK给我们提供了成千上万个类供我们直接使用,而Scanner就是这众多类里的一个最常用的一个类,既然它是一个类,我们使用它的方法和使用我们自己写的类的方法基本一致. 方法基 ...

  3. Java Scanner 类

    Java Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 下面是创建 Scanner 对象的基本语法: Scann ...

  4. java scanner类 构造器,Java Scanner类

    本文概述 Java的Scanner类可在java.util包中找到. Java提供了多种从键盘读取输入的方法, java.util.Scanner类就是其中之一. Java Scanner类使用默认为 ...

  5. JAVA Scanner 类用法小结

    JAVA Scanner 类用法小结 1.Scanner是java中的一个类,可使用这个类创建一个对象,进行输入操作. Scanner reader = new Scanner(System.in): ...

  6. Java Scanner类的常用方法及用法(很详细)

    Java Scanner类的方法及用法(很详细) Scanner类简介 Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序.它是以前的StringToken ...

  7. java scanner 教程,Java Scanner 类 - Java 入门教程

    一直以来,我们都使用 System.out.println() 方法向屏幕打印内容,那么如何接收输入的内容呢?本小节所学习的 Scanner 类就可以实现对输入内容的接收.在本小节,我们将学习 Sca ...

  8. Scanner类简要介绍

    Scanner类是Java中用来对文本进行扫描处理的类.下面我将简单介绍一下Scanner的使用. Scanner类虽然有很多的构造器,但总体上来说,大致可以分为如下几种. 处理字符串 处理字符串的构 ...

  9. Java Scanner类

    可以通过 Scanner 类来获取用户的输入. 创建一个Scanner的基本语法: Scanner s = new Scanner(System.in); Scanner 类的两种获取输入字符串方法的 ...

最新文章

  1. C#委托与事件 简明
  2. python使用方法-六、python 方法的使用
  3. 人生失败的31种致命原因
  4. 关于 VC 执行顺序
  5. 爱奇艺CEO龚宇呼吁网络电影涨价:6块钱太低了
  6. ubuntu server自动关闭屏幕背景灯_certbot-auto申请https证书,自动续期
  7. 啦啦啦-我又来了!!!
  8. 5.文件操作 --- 系统调用
  9. JAVA OOP(一)——OOP概念,类与对象
  10. Hi3519AV100 sdk 介绍
  11. webpack与ts版本不兼容
  12. Android技巧之相对高度使用
  13. CSS进阶班笔记(五)
  14. MySQL数据库——常用数据库大汇总(附带优缺点)
  15. U盘装系统及启动盘制作
  16. SDN(软件定义网络)数据平面
  17. activiti自定义流程之整合(六):获取我的申请任务
  18. HE3342E单节 2A 开关型锂离子电池充电芯片
  19. 计算机c语言二级题库及答案txt,计算机二级c语言题库及答案
  20. 2021年中国可见光通信(VLC)市场趋势报告、技术动态创新及2027年市场预测

热门文章

  1. Android智能聊天机器人的实现
  2. 游戏延迟测试软件,官方发布游戏延迟测试工具 将优化LOL网络
  3. matlab遗传算法工具箱源代码学习
  4. java byte 释放内存_java java.nio.ByteBuffer.allocateDirect 导致内存泄露
  5. 计算机科学个人陈述中文,留学文书写作范例-计算机科学(个人陈述)的英语作文...
  6. 中科大少年班,官方公布48名新生名单,有人因偶像曹原,有人只是不想经历高三...
  7. python中的def是什么意思啊_在Python函数定义中-是什么意思?
  8. DeviceIOControl函数
  9. 关于C语言二进制相关的内容+笔试习题,建议收藏
  10. 制作index.HTML千履千寻,网站测试与发布