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

Scanner类简介

Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。

Scanner类的常用方法1


其实上图的意思就是,比如:nextlnt():只读取int值,就是只能读取整数类型的数据,如果输入了非整型的数据(浮点型字符串等)就会报错。
nextFloat()、nextDouble()这些也是以此类推,只能读取符合该类型的数据。

此处重点讲一下next()和nextLine()的区别

next():只读取输入直到空格。它不能读两个由空格或符号隔开的单词。此外,next()在读取输入后将光标放在同一行中。(next()只读空格之前的数据,并且光标指向本行)

nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号(即。它读到行尾)。读取输入后,nextLine()将光标定位在下一行。

代码演示:
public class Text {public static void main(String []args) {Scanner input = new Scanner(System.in);System.out.println("请输入一个字符串(中间能加空格或符号)");String a = input.nextLine();System.out.println("请输入一个字符串(中间不能加空格或符号)");String b = input.next();System.out.println("请输入一个整数");int c;c = input.nextInt();System.out.println("请输入一个double类型的小数");double d = input.nextDouble();System.out.println("请输入一个float类型的小数");float f = input.nextFloat();System.out.println("按顺序输出abcdf的值:");System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(d);System.out.println(f);}
}

运行结果:

请输入一个字符串(中间能加空格或符号)
我爱祖国!
请输入一个字符串(中间不能加空格或符号)
ILoveChina
请输入一个整数
520
请输入一个double类型的小数
12.26e3
请输入一个float类型的小数
3.1415926
按顺序输出abcdf的值:
我爱祖国!
ILoveChina
520
12260.0
3.1415925

Scanner类的常用方法2

代码演示:
public class inputInformation {public static void main(String args[]) {Scanner scan = new Scanner(System.in);   //构造Scanner类的对象scan,接收从控制台输入的信息System.out.println("请输入你的姓名");String name = scan.nextLine();//接收一个字符串,可以加除Enter以外的所有符号,包括空格和TabSystem.out.println("请输入你的ID");String ID ;while(scan.hasNextLine()) {// hasNextLine()方法判断当前是否有输入,当键盘有输入后执行循环if(scan.hasNextInt()) {// 判断输入的值是否为整数类型,当为整数类型时执行循环ID = scan.nextLine();System.out.println("你输入的姓名为:"+name);System.out.println("你输入的ID为:"+ID);break;}else {System.out.println("请输入数字哦!");ID = scan.nextLine();continue;}}}
}

运行结果如下:

请输入你的姓名
西地那非
请输入你的ID
q764323221
请输入数字哦!
764323221

Java Scanner类的常用方法及用法(很详细)相关推荐

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

    一.Scanner类简介 Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序.它是以前的StringTokenizer和Matcher类之间的某种结合.由于 ...

  2. JAVA Scanner 类用法小结

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

  3. Java工具类系列--Arrays的用法

    原文网址:Java工具类系列--Arrays的用法_IT利刃出鞘的博客-CSDN博客 简介 本文用示例介绍Java中的Arrays的常用方法. Java中的Arrays是用来操作数组的工具类,支持如下 ...

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

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

  5. Java Scanner 类

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

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

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

  7. java Math类的常用方法介绍

    java Math类的常用方法介绍 代码块 public class MainTest {public static void main(String[] args) {//求sin值double s ...

  8. Java工具类系列--Objects的用法

    原文网址:Java工具类系列--Objects的用法_IT利刃出鞘的博客-CSDN博客 简介 本文用示例介绍Java中的Objects的用法. Java中的Objects是操作对象的工具类,有如下功能 ...

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

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

最新文章

  1. 【C#】Out与ref是干什么的?
  2. 使用Windows操作系统的13个窍门
  3. 链表问题8——将单向链表按某值划分成左边小、中间相等、右边大的形式(进阶)
  4. 音视频技术开发周刊 | 166
  5. RISC-V工具链环境(基于Debian/Linux操作系统)
  6. 输出一个数的二进制序列中1的个数(三种方法)
  7. 基于Android的智能家居手持终端系统开发(毕设开题报告)修改版
  8. 萌新的Python练习菜鸟100例(八)输出 9*9 乘法口诀表
  9. DW8里面的HTML面板在哪里,打开Dreamweaver8窗口后,如果没有出现属性面板,可执行()菜单中的 - 问答库...
  10. JQuery AJAX处理页面返回的XML
  11. USB (二)硬件概念 以 STM32F4为例
  12. 语音识别特征处理(MFCC,Fbank,PNCC)
  13. 【Python脚本】得王者金币,王者大佬快来带我飞
  14. springtask Cron表达式与fixedDelay的区别
  15. springboot+vue+elementui大学生社团活动报名系统平台
  16. 泸州职业技术学院计算机单招试题,2021年泸州职业技术学院单招语文考试模拟试题库...
  17. 揭秘数据可视化工具的研究现状
  18. 【大牛之路】大牛指导,报酬丰厚的开源项目---“谷歌编程之夏”
  19. 微信小程序入门demo
  20. CentOS 7视频音频解码器问题

热门文章

  1. 【线性代数】标量、向量、矩阵和张量(scalar, vector, matrix tensor)
  2. dbeaver 切换结果显示位置
  3. mysql使用强制索引
  4. videojs播放器iframe无法全屏
  5. 如何抢努比亚z9 max
  6. 2022年湖南成考有什么专业适合女生读
  7. 金三银四来了-找工作有哪些平台/工具?
  8. Parquet encoding
  9. Java 类加载机制 ClassLoder
  10. 2010年通信IT类公司薪水工资待遇(应届硕士-电子通信)