由于因最近练习算法的需要,加上API文档中翻译的太过模糊,做了一些小测试,算是武断的记下一些个人结论。

Scanner cin = new Scanner(System.in);

对于cin.next(),若cin缓冲区中有值,获取并返回该String(实际上是返回String池中的地址);若cin缓冲区中无值(值被取尽也算),要求向缓冲区输入值(String),确认后再次运行(这次缓冲区中有值了),返回String。

对于cin.hasNext(),若cin缓冲区中有值,返回true;若cin缓冲区中无值(值被取尽也算),要求向缓冲区中输入值(String),确认后再次运行(这次缓冲区中有值了),返回true。

无论如何都返回true,个人感觉比较鸡肋,只能用来对缓冲区中有值做一种保证,而next似乎自己就能完成这个任务。

在控制台输入回车只能做确认作用,空格为默认分割符,多个空格做一个分割符,结束和开始的分割符忽略,和split风格有些相似。

nextInt()\hasNextInt()要求控制台输入Int值;nextLine()\hasNextLine()将一整行看做一个值,默认分割符字符串中的回车。

这里只分析了一个方面,全面的这里有一个比较好的帖子

http://bbs.itheima.com/thread-90856-1-1.html

java扫描控制台输入的更多相关文章

  1. java.util.Scanner应用详解++扫描控制台输入

    java.util.Scanner应用详解   java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...

  2. java 通过控制台输入的数字打印菱形字母

    package com.rui.test; import java.util.Scanner; /** * @author sunshine * @version 1.0 * @date:2015年1 ...

  3. java接收控制台输入

    java控制台输入语句: Scanner sc = new Scanner(System.in); 通过一个变量,例如 int r; r = sc.nextInt();   例子: public st ...

  4. java 获取控制台输入

    读取控制台输入 从控制台读取一行数据,返回值字符串 public class IO { public static void main(String args[]) throws IOExceptio ...

  5. Java中用Scanner扫描控制台输入时的一个小问题

    package com.hxl; import java.util.Scanner; public class Test { public static void main(String[] args ...

  6. Java 读取控制台输入

    方式1:InputStreamReader+BufferedReader package my_package; import java.io.BufferedReader; import java. ...

  7. Java基本语法--控制台输入(Scanner类)

    通过Scanner类获取用户输入时,控制台会一直等待用户的输入,可以输入不同类型的值.本篇博客主要讲解从控制台输入值,即Scanner类的使用方法. Api文档中关于Scanner类的构造方法 键盘输 ...

  8. java控制台输入

    一.java控制台输入 java控制台输入有如下几个方法 1.JDK 1.4 及以下版本读取的方法 JDK 1.4 及以下的版本中要想从控制台中输入数据只有一种办法,即使用System.in获得系统的 ...

  9. Java 控制台输入数字 输出乘法表(代码练习)

    最近,回忆了一些刚学习Java时经常练习的一些小练习题.感觉还是蛮有趣的,在回顾时想起好多学习时的经历和坎坷,一道小小的练习题要研究半天,珍重过往,直面未来.下面贡献代码,Java 控制台输入数字 输 ...

随机推荐

  1. js取整、四舍五入等数学函数

    js只保留整数,向上取整,四舍五入,向下取整等函数1.丢弃小数部分,保留整数部分parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math. ...

  2. asp.net mvc5 step by step(一)——CURD增删查改Demo

    1.  新建一个项目:

  3. Oracle数据库,简单SQL练习与答案

    1.数据 --创建职员表create table tbEmp( eID number primary key, --职员编号 eName varchar2(20) not null, --职员姓名 e ...

  4. 关于Date的冷门知识记录

    最近在做项目的时候,用到了Date.toLocaleString来处理当前日期.在这之前,我都是通过get*等方式来获取数据进行拼接.无意间,发现了toLocaleString方法.遂想写一篇文章来记 ...

  5. 判断FreeMarker是否为空

    转自:https://blog.csdn.net/lwt976647637/article/details/73135933 (1)判断Map数据是否为空 <#ifmaster??&&a ...

  6. sass的嵌套

    sass的嵌套包括两种: 1.选择器的嵌套.(最常用到) 指的是在一个选择器中嵌套另一个选择器来实现继承,从而增强了sass文件的结构性和可读性. 在选择器嵌套中,可以使用&表示父元素选择器 ...

  7. 离不开的微服务架构,脱不开的RPC细节(值得收藏)!!!

    服务化有什么好处? 服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队的技术解耦,如下图所示: 服务A:欧洲团队维护,技术背景是Java 服务B:美洲团队维护,用C++实现 ...

  8. python中mysql主从同步配置的方法

    1)安装mysql ubuntu中安装一台mysql了,docker安装另外一台mysql 获取mysql的镜像,主从同步尽量保证多台mysql的版本相同,我的ubuntu中存在的mysql是5.7. ...

  9. Leecode刷题之旅-C语言/python-121买卖股票的最佳时机

    /* * @lc app=leetcode.cn id=121 lang=c * * [121] 买卖股票的最佳时机 * * https://leetcode-cn.com/problems/best ...

  10. Linux常用服务器构建-samba(ubantu)

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通 ...