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

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

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

 import java.util.Scanner;

 public class Test{
public static void main(String[] args){
// 从键盘接收数据
Scanner scan = new Scanner(System.in);
System.out.println("next方式接收:");
//在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据
if(scan.hasNext()){
String str = scan.next();
System.out.println("输入的数据为:"+str);
}
}
}

运行输出:

next方式接收:
aaa bbb
输入的数据为:aaa

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

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

 import java.util.Scanner;

 public class Test{
public static void main(String[] args){
// 从键盘接收数据
Scanner scan = new Scanner(System.in);
System.out.println("nextLine方式接收:");
//在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据
if(scan.hasNextLine()){
String str = scan.nextLine();
System.out.println("输入的数据为:"+str);
}
}
}

运行输出:

nextLine方式接收:
aaa bbb
输入的数据为:aaa bbb

next()和nextLine()的区别

next():

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

nextLine():

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

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

 import java.util.Scanner;

 public class Test{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int i = 0;
float f = 0.0f; System.out.print("输入整数:");
//判断是否还有输入的数据,是否为整形数据
if(scanner.hasNextInt()){
i = scanner.nextInt();
System.out.println(" 输入的数据为:"+ i );
}else {
System.out.println(" 输入的数据不是整数");
} System.out.print("输入小数:");
//判断是否还有输入的数据,是否为浮点型数据
if(scanner.hasNextFloat()){
f = scanner.nextFloat();
System.out.println("输入的数据为:"+f);
}else {
System.out.println("输入的数据不是小数");
}
}
}

运行输出:

输入整数:1
输入的数据为:1
输入小数:9.0
输入的数据为: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. js 在线引用

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta ht ...

  2. 学习笔记TF042:TF.Learn、分布式Estimator、深度学习Estimator

    TF.Learn,TensorFlow重要模块,各种类型深度学习及流行机器学习算法.TensorFlow官方Scikit Flow项目迁移,谷歌员工Illia Polosukhin.唐源发起.Scik ...

  3. C-Language Functions

    转自:https://www.postgresql.org/docs/9.6/xfunc-c.html 可以作为学习基于c编写pg extension 的资料 36.9. C-Language Fun ...

  4. javascript运行机制之执行顺序详解

    1.代码块 指的的是有标签分割的代码段. 例如: <script type="text/javascript"> alert("这是代码块一"); ...

  5. Linux初级入门(第一次作业)

    Linux初级入门 在本科期间学过一些Linux的简单命令,再次接触Linux不仅巩固了知识还学习到了很多新的东西. 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是 ...

  6. Can't parse message of type "gazebo.msgs.Packet" because it is missing required fields: stamp, type

    在gazebo的仿真环境中,采用强化学习HER算法训练baxter执行reach.slide和pick and place任务. 运行HER算法,此时尚未启动gazebo仿真环境,出现如下报错: [l ...

  7. 解决scipy无法正确安装到virtualenv中的问题

    一 . pip的基本操作 安装包: pip/pip3 install ***pkg 卸载包: pip/pip3 uninstall ***pkg 查看已经安装的某个包的信息: pip/pip3 sho ...

  8. Linux的SIGUSR1和SIGUSR2信号

    SIGUSR1 用户自定义信号 默认处理:进程终止SIGUSR2 用户自定义信号 默认处理:进程终止  当一个进程调用fork时,因为子进程在开始时复制父进程的存储映像,信号捕捉函数的地址在子进程中是 ...

  9. 协议并发测试工具 BoHexTest

    BoHexTest V1.0.3 1.添加连接LOG打印2.优化代理及并发策略 大小: 1074688 字节修改时间: 2017年10月3日, 10:24:26MD5: EBAE5A17F7F5ED0 ...

  10. 学习 Hadoop3.0 一、Hadoop3.0的安装与配置

    一.JDK1.8的安装 添加ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get update 安装Oracle-java-ins ...