Java Scanner语法
1.导入:
import java.util.Scanner;
2.创建对象
Scanner scan = new Scanner(System.in);//一般变量名为scan或者in
最后关闭,scan.close();和I/O流有关,暂不清楚,照抄先。
3.next()
读取字符串,要读取到有效字符后才结束输入,不能读取空格,即遇到空格就停。
Scanner scan = new Scanner(System.in);
String s1 = new String();
String s2 = new String();
String s3 = new String();
s1 = scan.next();
s2 = scan.next();
s3 = scan.next();
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
if(scan.hasNext())
System.out.println("Yes");
输入:123 456 789 1011
输出:
123
456
789
Yes
s1第一次读取到有效字符1,遇到4前的空格结束第一次输入;随后s2遇到第一个有效字符4,遇到空格结束;s3遇到第一个有效字符7,同理遇到空格结束,此时还有未读取的字符在缓冲区里,用hasNext()判断;
4.hasNext()
判断是否还有输入的数据,不能识别空格或回车,还会吃掉空格或者回车,连续的空格加回车一次性全部吸收掉,ACM里用循环读取下一组数据。
5.nextLine()
和next()类似,唯一不同就是,next()遇到空格或者回车就断了,nextLine()遇到回车才断,空格也算是有效字符,从第一个有效字符开始直到回车,中间无论多少空格都能吃下。
package my_acm; import java.util.Scanner;
public class MyTest10 { public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s1 = new String();
String s2 = new String();
String s3 = new String();
String s4 = new String();
s1 = scan.next();
s2 = scan.next();
s3 = scan.next();
s4 = scan.nextLine();
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
System.out.println(s4); if(scan.hasNext())
System.out.println("Yes1");
if(scan.hasNextLine())
System.out.println("Yes2"); }
}
/**输入:123 456 789 1011 12 13 14 15
输出:
123
456
789
1011 12 13 14 15
s4把9后面的全部字符全部都吃下去了,没有未读取的字符
*/
nextLine()
6.hasNextLine()
可以判断空格和回车,但是不会吃掉任何字符。
import java.util.Scanner;
public class MyTest10 { public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s1 = new String();
String s2 = new String();
String s3 = new String();
String s4 = new String();
s1 = scan.next();
s2 = scan.next();
s3 = scan.next();
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
if(scan.hasNext())
System.out.println("Yes1");
if(scan.hasNextLine())
System.out.println("Yes2");
scan.close();
}
}
测试hasNext()会吃掉空格,hasNextLine()不会


import java.util.Scanner;
public class MyTest10 { public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s1 = new String();
String s2 = new String();
String s3 = new String();
String s4 = new String();
s1 = scan.next();
s2 = scan.next();
s3 = scan.next();
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
if(scan.hasNextLine())
System.out.println("Yes2");
if(scan.hasNextLine())
System.out.println("Yes3");
if(scan.hasNext())
System.out.println("Yes1");
scan.close();
}
}
测试hasNext()会吃掉空格,hasNextLine()不会


- 通过比较可以知道hasNextLine()可以判断空格和回车,并且不会吸收字符;
- 但是如果先遇到hasNext(),空格加回车全都被吃掉,后续接上hasNextLine()判断不到还有空格和回车。
7.其他类型的输入
nextDouble();
nextLong();
nextInt();
nextFloat();
nextByte();
Java Scanner语法的更多相关文章
- java基础语法笔记
这段时间看了一些java,急了一些笔记,记下一遍以后复习用! 2016-07-24 15:12:40 java很多语法都跟C#类似,下面列举一些不同的地方******注意***** java中的系统方 ...
- Java基本语法实验报告
题目: Java基本语法 课程名称: JAVA语言程序设计 班 级: 信1705-1 姓 名: 刘雨馨 学号: 20173445 指导教师: ...
- Java 基本语法---Java方法
Java 基本语法---Java方法 0.概述 方法:就是用来解决一类问题的代码的有序组合,是一个功能模块: 在方法部分,只使用对象名词调用方法: Scanner sc = new Scanner(S ...
- Java 基本语法---Java数组
Java 基本语法---Java数组 0. 概述 数组:相同类型的数据 按照顺序 组成的一种 引用数据类型 . 数据类型:基本数据类型 + 引用数据类型: 引用数据类型:类 + 接口 + 数组 : 一 ...
- Java 基本语法---流程控制
Java 基本语法---流程控制 0. 概述 三大流程控制语句:顺序.选择.循环. 选择结构: if 结构,if - else结构: 多重 if - else 语句 ; 嵌套 if - else 语句 ...
- Java 基本语法---Java运算符
Java 基本语法---Java运算符 0. 概述 Java中的运算符主要分为以下几种: 算术运算符 赋值运算符 关系运算符 逻辑运算符 条件运算符 位运算符 其他运算符 1. 算术运算符 操作符 描 ...
- Java-Runoob:Java Scanner 类
ylbtech-Java-Runoob:Java Scanner 类 1.返回顶部 1. Java Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Sc ...
- java Scanner和异常
Java Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 下面是创建 Scanner 对象的基本语法: Scann ...
- 第8天 Java基础语法
第8天 Java基础语法 今日内容介绍 Eclipse开发工具 超市库存管理系统 Eclipse开发工具 Eclipse是功能强大Java集成开发工具.它可以极大地提升我们的开发效率.可以自动编译,检 ...
随机推荐
- Windows&Mac安装Redis
Windows&Mac安装Redis Window 下安装Redis Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择,这里我下载 Redis-x64-xxx.zi ...
- 用户增长模型AARRR模型
用户增长模型AARRR模型
- Python处理数据集-2
原数据集的数据格式: 每行为:(test_User, test_Item) negativeItem1 negativeItem2 negativeItem3 …… negativeItem99 即每 ...
- 排列组合(包括n中随机抽取m个)
有些情况我们需要获取一个数组中的所有排列组合情况,或者获取一部分数据进行随机组合,这个在python中有一个模块可以实现.具体情况如下 :::::::::::::::::::::::::::::::: ...
- 代码实现一个蛇形led走马灯
什么叫走马灯? 走马灯又叫流水灯,灯不断的走动,像流水一样,动态显示. makecode图形化编程见:http://bbs.kittenbot.cn/forum.php?mod=viewthread& ...
- pta作业错误点--总结
pta作业错误点--总结 注释:在做pta题目的时候,发现有许多题目的错误点是值得归纳总结起来的,今后翻阅博客园的时候能够明白之前有哪些是可以值得复习的. 7-2 换硬币 习题2-3 求平方与倒数序列 ...
- java8 List集合的排序,求和,取最大值,按照条件过滤
public class Java8Test { public static void main(String[] args) { Person p1 = new Pe ...
- 汉字转拼音,TinyPinyin、Pinyin4j与JPinyin哪个库更快
1. 介绍 本文对TinyPinyin.Pinyin4j与JPinyin三个汉字转拼音库的用法.测试代码及转换的结果做一个简单的总结. TinyPinyin 适用于Java和Android的快速.低内 ...
- SpringMVC-方法四种类型返回值总结,你用过几种?
SpringMVC 现在算是 Java 领域的一个基础性框架了,很多人天天用,可是对于 SpringMVC 方法的返回值,你又是否完全清楚呢?今天松哥就来和大家聊一聊 SpringMVC 中四种不同类 ...
- Prometheus Grafana可视化展示Linux资源使用率
Prometheus Grafana可视化展示Linux资源使用率 Grfana官方仪表盘下载:https://grafana.com/dashboards 数据源推荐:https://grafan ...