java 中 next() 与 nextLine() 方法的区别

2023-11-07

在说它俩的不同之处前,先说说它俩的相同之处:

next() 和 nextLine() 读取的结果都是 String 类型,返回 string 类型

java 中 Scanner 类中的 next() 方法和 nextLine() 方法的区别

  • next() 不会读取字符前/后的空格/Tab键,只读取字符(忽略空格回车等等),开始读取字符(字符前后不算)直到遇到空格/Tab键/回车截止;( 包括nextInt()、nextDouble()、nextFloat()等 )遇到了空格, 就不再录入数据了 。

结束标记: 空格, tab键。

  • nextLine() 读取字符前后的空格/Tab键,直到回车键截止。可以将数据完整的接收过来。读取一行,注意到如果是一行的话,空格不作为分隔符,一行一行的取,以回车(换行)结束一次取值

结束标记: 回车换行符。

测试代码:

package test;   
import java.util.*;  
public class Main {  
    public static void main(String[] args) {  
        String s1,s2;    
        Scanner sca = new Scanner(System.in);
        System.out.print("请输入第一个字符串:");
        s1 = sca.nextLine();
        System.out.println("输入的字符串是:" + s1);  
        System.out.print("请输入第二个字符串:");
        s2 = sca.next();
        System.out.println("输入的字符串是:" + s2);  
        }  
}  

 运行结果:

请输入第一个字符串:    hello    
输入的字符串是:    hello    
请输入第二个字符串:    world    
输入的字符串是:world

注意:nextLine() 不能用在 nextIn() 后面。
因为nextLine() 方法返回的是Enter键之前的所有字符,在使用了 nextInt() 方法之后在其后输入的空格键、Tab 键或 Enter 键等视为分隔符或结束符,其仍在缓冲区内;若紧接着使用 nextLine() ,则 nextLine() 自动读取 Enter 等作为其结束符,则无法从键盘输入值,强行输入会报出 InputMismatchException 异常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 中 next() 与 nextLine() 方法的区别 的相关文章

随机推荐

  • 如何在 CentOS 7 上安装和使用 Docker

    介绍 Docker 是一个应用程序 可以让在容器中运行应用程序进程变得简单 容易 就像虚拟机一样 只是更便携 更资源友好 更依赖于主机操作系统 有关 Docker 容器的不同组件的详细介绍 请查看Docker 生态系统 常用组件简介 在 C
  • 如何在 Ubuntu 18.04 上安装/卸载 NodeJS

    NodeJS 是一个 JavaScript 框架 可让您轻松构建快速的网络应用程序 在本指南中 我们将深入研究如何在 Ubuntu 18 04 上安装 NodeJS 步骤 1 将 NodeJS PPA 添加到 Ubuntu 18 04 首先
  • 在 C/C++ 中使用 getch() 函数

    在本文中 我们将了解在 C C 中使用 getch 函数 如果您想读取从键盘输入的字符 getch 函数非常有用 虽然这不是 C 标准的一部分 但这仍然是 POSIX C 函数 因此 我们仍然可以在 Windows Linux Mac 上使
  • 如何保护 Ubuntu 14.04 上的 Redis 安装

    介绍 Redis 是一种内存中 NoSQL 键值缓存和存储 也可以持久保存到磁盘上 本教程展示如何实现 Redis 服务器的基本安全性 但是 请记住 Redis 是为以下用户而设计的 值得信赖的客户 in a 可信环境 本身没有强大的安全功
  • Python 漂亮打印 JSON

    我们可以使用Python json 模块漂亮地打印 JSON 数据 建议使用 json 模块来处理 JSON 文件 我们可以使用dumps 方法来获取格式漂亮的 JSON 字符串 1 Python漂亮打印JSON字符串 import jso
  • 如何在 JavaScript 中使用运算符进行数学运算

    介绍 数学运算是任何编程语言最基本和通用的功能之一 在 JavaScript 中 数字经常用于常见任务 例如查找浏览器窗口大小 获取货币交易的最终价格以及计算网站文档中元素之间的距离 尽管对数学的高度理解并不是成为一名有能力的开发人员的先决
  • 如何实现SQL INSTR()函数?

    嘿伙计 在这篇文章中 我们将了解SQL INSTR 函数详细 SQL INSTR 的工作原理 SQL 作为一种查询语言 包含各种内置函数来处理数据库的字符串数据值 SQL INSTR 函数就是这样一个有趣的函数 SQL INSTR func
  • Java 从 URL 下载文件

    今天我们将学习如何用java从URL下载文件 我们可以用java net URL openStream java程序中从URL下载文件的方法 我们可以使用Java NIO Channels或Java IO InputStream从URL打开
  • 如何在Java中合并两个列表?

    在 Java 中合并两个列表通常是一个有用的操作 这些列表可以是 ArrayList 或 LinkedList 如何在 Java 中合并两个列表 在 Java 中 我们可以通过多种方式合并两个列表 让我们探索一些简单的方法来完成您的工作 1
  • 如何在 Ubuntu 18.04 上使用 Let's Encrypt 保护 Apache

    介绍 Let s Encrypt 是一个证书颁发机构 CA 提供免费获取和安装的方法TLS SSL 证书 从而在 Web 服务器上启用加密的 HTTPS 它通过提供软件客户端简化了流程 Certbot 它尝试自动化大多数 如果不是全部 所需
  • 如何在 CentOS 6 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈

    Status 已弃用 本文介绍不再受支持的 CentOS 版本 如果您当前运行的服务器运行 CentOS 6 我们强烈建议您升级或迁移到受支持的 CentOS 版本 Reason CentOS 6 于 2020 年 11 月 30 日达到生
  • 如何在 Ubuntu 16.04 上安装 Docker Compose

    介绍 Docker是一个很好的工具 用于在软件容器内自动部署 Linux 应用程序 但要充分利用其潜力 应用程序的每个组件都应该在自己的单独容器中运行 对于具有大量组件的复杂应用程序 编排所有容器一起启动 通信和关闭可能很快就会变得笨拙 D
  • 如何在 Ubuntu 12.04 上安装 IonCube Loader

    Status 已弃用 本文介绍不再受支持的 Ubuntu 版本 如果您当前运行的服务器运行 Ubuntu 12 04 我们强烈建议您升级或迁移到受支持的 Ubuntu 版本 升级到Ubuntu 14 04 从 Ubuntu 14 04 升级
  • 如何在 Ubuntu 12.04 上安装 Git

    Status 已弃用 本文介绍不再受支持的 Ubuntu 版本 如果您当前运行的服务器运行 Ubuntu 12 04 我们强烈建议您升级或迁移到受支持的 Ubuntu 版本 升级到Ubuntu 14 04 从 Ubuntu 14 04 升级
  • Android 日期时间选择器对话框

    Android 日期时间选择器在 Android 应用程序中被大量使用 在本教程中 我们将演示如何使用日期选择器 and 定时器选择器我们的 Android 应用程序中的对话框 这些组件用于在自定义用户界面中选择日期和时间 我们将使用Dat
  • 如何将 GitLab 设置为您自己的私有 GitHub 克隆

    Status 已弃用 本文介绍不再受支持的 Ubuntu 版本 如果您当前运行的服务器运行 Ubuntu 12 04 我们强烈建议您升级或迁移到受支持的 Ubuntu 版本 升级到Ubuntu 14 04 从 Ubuntu 14 04 升级
  • Java 中的关系运算符

    Java 中的关系运算符用于比较两个变量的相等 不相等 大于 小于等 Java 关系运算符始终返回布尔值 true 或 false Java 中的关系运算符 Java 有 6 个关系运算符 是相等运算符 如果两个操作数引用同一个对象 则返回
  • 约束布局使用详解

    约束布局使用详解 一 前言 在一般的安卓开发中 编写界面需要很多嵌套 这会有一定的性能影响 这个时候就可以使用 ConstraintLayout 或 RelativeLayout来减少嵌套 简化布局深度 ConstraintLayot 类似
  • PowerShell: 关于比较运算符返回值

    Windows PowerShell的比较运算符包括 eq ne lt gt le ge contains notcontains like notlike match notmatch replace 大部分的比较运算符返回一个布尔值 比
  • java 中 next() 与 nextLine() 方法的区别

    在说它俩的不同之处前 先说说它俩的相同之处 next 和 nextLine 读取的结果都是 String 类型 返回 string 类型 java 中 Scanner 类中的 next 方法和 nextLine 方法的区别 next 不会读