java输入Scanner基本用法[通俗易懂]
2023-06-13 09:12:12 时间
大家好,又见面了,我是你们的朋友全栈君。
1.基本介绍
java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入,每个next获取输入对应的字符。
Scanner sc = new Scanner(System.in);
当我们通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用hasNext 与 hasNextLine 判断是否还有输入的数据:
- next() –>hasNext()
- nextLine() —->hasNextLine()
2.使用举例
hasNext和next测试
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
if (scanner.hasNext())
System.out.println("输出:"+scanner.next());
scanner.close();
}
请输入:
测试一下 哈哈
输出:测试一下
hasNextLine和nextLine
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
if (scanner.hasNextLine())
System.out.println("输出:"+scanner.nextLine());
scanner.close();
}
请输入:
测试一下 哈哈哈
输出:测试一下 哈哈哈
两者比较:
很明显,从结果来看,next获取下一个字符串,输入间隔为空格或回车时阶段,而nextLine则是获取一行数据。
next():
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next() 不能得到带有空格的字符串。
nextLine():
- 以Enter为结束符,也就是说 nextLine()方法返回输入回车之前的所有字符。
- 可以获得空白。
3.常用方式
scanner.nextLine().trim();//去掉输入两端的空格
String[] arrStr = scanner.nextLine().trim().split(" ");//将输入的一行按照空格拆分为数组
while (scanner.hasNextLine()){
int len = Integer.parseInt(scanner.nextLine().trim());
int[] arrInt = new int[len];
String[] contentStr = scanner.nextLine().trim().split(" ");
int i =0;
for (String content:contentStr){
arrInt[i++] = Integer.parseInt(content);
}
System.exit(0);
}
其他的获取输入方式:
hasNext()—-next()
hasNextInt()—-nextInt()
hasNextBoolean—-nextBoolean()
hasNextByte()—-nextByte()
hasNextShort()—-nextShort()
hasNextInt()—-nextInt()
hasNextLong()—-nextLong()
hasNextFloat()—-nextFloat()
hasNextDouble()—-nextDouble()
hasNextBigInteger()—-nextBigInteger()
hasNextBigDecimal()—-nextBigDecimal()
4.while循环输入scanner如何退出?
以下三种退出方式:
while (!scanner.hasNext("0") ){
//标志位退出
}
while (scanner.hasNextLine() ){
// 代码段
if(scanner.hasNext("0"))//内部标志退出
break;
}
while (scanner.hasNextLine() ){
// 代码段
System.exit(0);//系统退出
}
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/156448.html原文链接:https://javaforall.cn
相关文章
- java sortedset用法_Java SortedSet headSet()用法及代码示例[通俗易懂]
- fileinputstream java,使用url的Java fileinputstream
- java mediatype utf-8_Java MediaType.APPLICATION_JSON_UTF8屬性代碼示例
- java 上传文件接口_Java接口实现文件上传
- java list去重_JAVA基础-List去重的6种方式[通俗易懂]
- java数组定义长度_JAVA数组的定义
- java 链表长度_Java实现单向链表[通俗易懂]
- 菜鸟教程java_JAVA笔记(菜鸟教程)[通俗易懂]
- java locale 中国_Java描述语言、国家和地理的类——Locale
- java是面向对象还是面向过程_Java面向对象编程和面向过程编程的区别[通俗易懂]
- java开发常用四大框架_大牛经验!常用的5款Java框架汇总[通俗易懂]
- java编写一个学生类和教师类,Java创建一个学生类[通俗易懂]
- java高级工程师_一名Java高级工程师需要学什么?
- 手机版java编译器_Java编译器[通俗易懂]
- java 特点_JAVA的几个重要特点[通俗易懂]
- java笛卡尔积算法_Java 笛卡尔积算法的简单实现
- java notifyall_Java Thread notifyAll()方法[通俗易懂]
- java反射 getMethod_JAVA 反射 getMethod() 和 invoke() 具体应用[通俗易懂]
- java压缩与解压(Java.util.zip)详解编程语言
- 利用Redis存储Java对象的方法(redis存储java对象)
- Linux下Java开发:给初学者的指引(linux下java编程)
- Java连接MySQL:实现数据库操作(java中连接mysql)
- Linux系统如何配置Java?(linux下配置java)
- 使用Java轻松读取Redis数据 – 一步一步指南!(java读取redis)
- Java运行在Linux系统上免费下载(linux java下载)
- MSSQL与Java的数据库连接实践(mssql连接java)
- Java编程从Oracle中读取数据(java读取oracle)
- 询Java与Oracle联合查询更高效的数据处理方式(java oracle查)
- Java实现Redis计数器功能(redis计数 java)