我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java中next()、nextLine()以及nextInt()

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java中next()、nextLine()以及nextInt()

Java中键盘录入以及小坑

前言

java中的键盘录入(通过集成开发工具比如idea的控制台与程序交互),工具类使用的是Scanner。

public final class Scanner extends Object implements Iterator, Closeable

正文

Scanner类的常用方法:

String next​() 键盘录入任意符号(读取到空格外的有效字符后,回车结束,但只录取空格之前的有效字符)
String nextLine() 键盘录入一行,回车结束(录入什么就是什么)
int nextInt() 键盘录入一个整数,回车结束(只要整数,否则报异常)

使用示例
创建一个Scanner对象:Scanner sc = new Scanner(System.in);使用next()nextInt()nextLine()方法:System.out.println("test next");String s = sc.next();//键盘录入任意符号(字母、数字、各种符号都可以),回车结束录入(前提是回车前读取到了有效字符)System.out.println(s);System.out.println("test nextInt");int s1 = sc.nextInt();//键盘录入一个整数(只要整数,否则报异常,会自动去除空格)System.out.println(s1);System.out.println("test nextLine");String s2 = sc.nextLine();//键盘录入一行,回车结束(录入什么输出什么)System.out.println(s2);
测试图例

nextLine()
在这里插入图片描述

nextInt() 只能录入整数,否则报错
在这里插入图片描述
在这里插入图片描述

next()
在这里插入图片描述

next()、nextLine()、 nextInt()的区别:

nextInt(): 这个好理解,只读取int类型的整数,回车表示结束录入。
nextLine(): 读取一行,内容任意(字母、数字、特殊符号、空格都可以),回车表示结束录入,回车前的内容都会读取。
next(): 读取空格前的有效字符,回车表示结束录入(只有读取到有效字符后按下回车才表示结束),空格与空格后的字符会被留在内存中。

next可能有点绕,我总结一下:

1、当录入的字段开头有空格时,next会自动去除空格,只保留有效字符(非空格);
2、当读取到有效字符后,如果碰到空格,那么空格与空格后的内容不会被读取;
3、next的结束录入标志是回车符(前期是他已经读取到有效字符(非空格),如果输入内容一直是空格,那么即便按下回车符,也不会结束录入!!)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小坑:

nextLine() 前面不能出现nextInt()或next()。
因为nextInt()以回车作为结尾标志且它会把回车符留在内存中,当使用nextInt()录入一个整数按下回车后,整数被nextInt()读取,回车符会留在内存,如果nextInt()后面有nextLine()时,这个回车符便会直接被nextLine()读取。

如图:录入999后按下回车,回车被nextLine读取了且当作了结束录入的符号,程序终止!
在这里插入图片描述

next()方法也是一样的道理,而且next()方法不会读取空格和空格后的内容,所以这些空格和空格后的内容会随着回车符一起被nextLine()读取:

在这里插入图片描述

来源地址:https://blog.csdn.net/tuoniaoxs/article/details/125205761

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java中next()、nextLine()以及nextInt()

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

浅析java中next与nextLine用法对比

java中next与nextLine用法区别:next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输
2023-05-31

Java中next()和nextLine()的区别是什么

这期内容当中小编将会给大家带来有关Java中next()和nextLine()的区别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Scanner scanner = new Scanner(Syst
2023-06-20

java中synchronized的原理以及作用

本篇内容介绍了“java中synchronized的原理以及作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题(1)synchroniz
2023-06-20

浅谈java中==以及equals方法的用法

equals 方法是 java.lang.Object 类的方法。有两种用法说明:(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。“eq
2023-05-30

Java中java.lang.ClassCastException异常原因以及解决方法详解

Java中的java.lang.ClassCastException异常发生在尝试将对象强制转换为不兼容类型时。原因包括类型转换错误、对象类型不匹配、向下转型失败和对象类型不兼容。解决方法包括识别异常点、检查类型安全、使用instanceof运算符、避免向下转型、处置空值、使用反射和检查泛型类型。避免强制转换,改用更安全的类型转换方法,例如instanceof运算符和反射。
Java中java.lang.ClassCastException异常原因以及解决方法详解
2024-04-02

详解Java中NullPointerException异常的原因以及解决方法

NullPointerException是Java中常见的异常之一,通常是在运行时发生的。该异常表示程序试图访问一个空对象的属性或调用空对象的方法。造成NullPointerException异常的原因主要有以下几种:1. 对象引用为nul
2023-08-11

浅谈一下Java中的访问修饰符以及作用

这篇文章主要介绍了浅谈一下Java中的访问修饰符以及作用,修饰符修饰的是“被访问”的权限,所有修饰符都可以修饰成员变量,方法,构造方法,需要的朋友可以参考下
2023-05-19

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录