可以通过 Scanner 类来获取用户的输入。

通过next()类和nextLine()类来获取字符串。

通过 Scanner 类的 next() 类来获取输入的字符串。

  1. import java.util.Scanner;
  2.  
  3. public class Test{
  4. public static void main(String[] args){
  5. // 从键盘接收数据
  6. Scanner scan = new Scanner(System.in);
  7. System.out.println("next方式接收:");
  8. //在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据
  9. if(scan.hasNext()){
  10. String str = scan.next();
  11. System.out.println("输入的数据为:"+str);
  12. }
  13. }
  14. }

运行输出:

  1. next方式接收:
  2. aaa bbb
  3. 输入的数据为:aaa

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

接下来我们看 通过nextLine()类来获取字符串。

  1. import java.util.Scanner;
  2.  
  3. public class Test{
  4. public static void main(String[] args){
  5. // 从键盘接收数据
  6. Scanner scan = new Scanner(System.in);
  7. System.out.println("nextLine方式接收:");
  8. //在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据
  9. if(scan.hasNextLine()){
  10. String str = scan.nextLine();
  11. System.out.println("输入的数据为:"+str);
  12. }
  13. }
  14. }

运行输出:

  1. nextLine方式接收:
  2. aaa bbb
  3. 输入的数据为:aaa bbb

next()和nextLine()的区别

next():

  • 1、一定要读取到有效字符后才可以结束输入。
  • 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
  • 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  • next() 不能得到带有空格的字符串。

nextLine():

  • 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
  • 2、可以获得空白

通过nextInt()类和nextFloat()类来获取整型和浮点型数据

  1. import java.util.Scanner;
  2.  
  3. public class Test{
  4. public static void main(String[] args){
  5. Scanner scanner = new Scanner(System.in);
  6. int i = 0;
  7. float f = 0.0f;
  8.  
  9. System.out.print("输入整数:");
  10. //判断是否还有输入的数据,是否为整形数据
  11. if(scanner.hasNextInt()){
  12. i = scanner.nextInt();
  13. System.out.println(" 输入的数据为:"+ i );
  14. }else {
  15. System.out.println(" 输入的数据不是整数");
  16. }
  17.  
  18. System.out.print("输入小数:");
  19. //判断是否还有输入的数据,是否为浮点型数据
  20. if(scanner.hasNextFloat()){
  21. f = scanner.nextFloat();
  22. System.out.println("输入的数据为:"+f);
  23. }else {
  24. System.out.println("输入的数据不是小数");
  25. }
  26. }
  27. }

运行输出:

  1. 输入整数:1
  2. 输入的数据为:1
  3. 输入小数:9.0
  4. 输入的数据为:9.0

java学习笔记(十):scanner输入的更多相关文章

  1. Java学习笔记:基本输入、输出数据操作实例分析

    Java学习笔记:基本输入.输出数据操作.分享给大家供大家参考,具体如下: 相关内容: 输出数据: print println printf 输入数据: Scanner 输出数据: JAVA中在屏幕中 ...

  2. Java学习笔记之Scanner报错java.util.NoSuchElementException

    转载自:IT学习者-螃蟹 一个方法A使用了Scanner,在里面把它关闭了.然后又在方法B里调用方法A之后就不能再用Scanner了Scanner in = new Scanner(System.in ...

  3. Java学习笔记2(输入与随机数简单介绍)

    输入: import java.util.Scanner; public class ScannerDemo{ public static void main(String[ ] args){ Sca ...

  4. Java学习笔记十五:Java中的成员变量和局部变量

    Java中的成员变量和局部变量 一:成员变量: 成员变量在类中定义,用来描述对象将要有什么 成员变量可以被本类的方法使用,也可以被其他类的方法使用,成员变量的作用域在整个类内部都是可见的 二:局部变量 ...

  5. Java学习笔记十九:Java中的访问控制修饰符

    Java中的访问控制修饰符 一:Java修饰符的种类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class Hello ...

  6. Java学习笔记十八:Java面向对象的三大特性之封装

    Java面向对象的三大特性之封装 一:面向对象的三大特性: 封装 继承 多态   二:封装的概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访 ...

  7. Java学习笔记十六:Java中的构造方法

    Java中的构造方法 1.使用new+构造方法 创建一个新的对象: 2.构造方法是定义在Java类中的一个用来初始化对象的方法: 3.构造方法与类同名且没有返回值: 4.语法格式: public 构造 ...

  8. Java学习笔记十四:如何定义Java中的类以及使用对象的属性

    如何定义Java中的类以及使用对象的属性 一:类的重要性: 所有Java程序都以类class为组织单元: 二:什么是类: 类是模子,确定对象将会拥有的特征(属性)和行为(方法): 三:类的组成: 属性 ...

  9. Java学习笔记十二:Java中方法的重载

    Java中方法的重载 什么是方法的重载呢? 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方法名称都为 s ...

  10. Java学习笔记十:Java的数组以及操作数组

    Java的数组以及操作数组 一:什么是数组: 数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学生的成绩 数组中的元 ...

随机推荐

  1. linux下(Window当然也可以)解决idea创建maven项目导入过慢问题

    1.正常创建maven web项目 2.见下图,选择加号 3.弹出的框中填入archetypeCatalog----internal,确定即可

  2. java.math.*;(一)

    package com.test; /* Math类: java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(Bi ...

  3. Restful levels &HATEOAS基本介绍~

    本文所涉及的内容摘自:http://www.manongjc.com/article/93934.html 什么是RESTful REST这个词,是Roy Thomas Fielding在他2000年 ...

  4. Linux whereis命令详解

    Linux whereis命令 Linux whereis命令用于查找文件. 该指令会在特定目录中查找符合条件的文件.这些文件应属于原始代码.二进制文件,或是帮助文件. 该指令只能用于查找二进制文件. ...

  5. [蓝桥杯]ALGO-187.算法训练_P0502

    编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20.然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来.如果有两个元素值出 ...

  6. 使用虚拟化KVM安装RHEL7系统

    使用虚拟化KVM安装RHEL7系统 作者:Eric 微信:loveoracle11g 检查真实物理机是否支持虚拟化功能 [root@server ~]# grep vmx /proc/cpuinfo ...

  7. Includes() vs indexOf() in JavaScript

    碰到一个问题, 部分机器网页数据源不正常, 简单排查发现是使用了较新的Array.includs 方法. 查了下兼容性, chrome 需要47版本以后支持, 客户机果然是很久的43版本. 用Arra ...

  8. 学习 MeteoInfo二次开发教程(三)

    1.breakList的问题 ((PolygonBreak) aLS.breakList[0]).DrawFill=false; 新的类库将LegendScheme的breakList属性改为了Leg ...

  9. Web App Checklist

    Mobile Web App checklist 目标: 高性能Mobile Web App 一.UX和UI 操作节目与边框之间留空隙: 防止操作过程中,触发系统缺省行为,有些是无法disable的. ...

  10. JS高级-异步

    单线程 只有一个线程,同一时间只能做一件事 原因:避免DOM渲染的冲突 浏览器需要渲染DOM JS可以修改DOM结果 JS执行的时候,浏览器DOM渲染会暂停 两段JS也不能同时执行(修改DOM就冲突) ...