欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java : Scanner用法 干货 简明

程序员文章站 2022-06-24 11:41:50
Java : Scanner用法 干货 简明IDEA1、创建对象(Scanner类型的变量)2、读取数据String 的读取 (next ()、nextLine () )、hasNextInt ( )、EOF 的使用...

代码运行环境:IDEA

1 创建对象

创建Scanner类型的变量

Scanner scanner = new Scanner(System.in);
//Scanner:类名   
//scanner:变量名,自己取
//new:创建对象的关键字

(1) 其中,输入Scanner时,当它出现下面的目录时,按 Tab键 会自动补全Scanner的拼写,也会自动导入它的包。(不导入 标红报错)
Java : Scanner用法 干货 简明
Java : Scanner用法 干货 简明
(2) 每一个进程启动,都会自动打开三个文件:
System.in(标准输入)
System.out (标准输出):在打印语句中有用(System.out.println();)
System.error(标准错误)
(3) 找不到定义
出现如图这种情况,某个类找不到定义,此时可以尝试使用 Alt + Enter 让IDEA自动查找该类对应的位置,并自动import这个类。
鼠标放在红字位置按 Alt + Enter
Java : Scanner用法 干货 简明

2 读取语句

用Scanner.nextXXX的形式来读取数据
(1) 根据数据类型决定XXX是什么

int num1 = scanner.nextInt();         //读整数
double num2 = scanner.nextDouble();   //读浮点数
//以此类推,注意可以使用Tab键补全

(2) 特殊:String的读取
两种读取方式:

//读到空白符结束
String str1 = scanner.next();
//读到换行符结束
String str2 = scanner.nextLine();

scanner.next():
它是从有效字符开始读取,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束键,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
scanner.nextLine():
它读取返回的是换行符\n前所有的字符,是可以得到带空格的字符串的。
空白符 是一个统称:
空格,换行\n ,回车\r ,翻页\f ,制表\t ,垂直制表\v 等等。

(3) 需要输入若干个整数(其他类型同理)
a. 假如需要输入两个整数,可以调用两次 nextInt()

int a = scanner.nextInt();
int b = scanner.nextInt();

b. 但是! 若是不知道要调用的次数 或 次数很大时,再这样做就不合适了,需要使用循环。

while(scanner.hasNextInt()){     
}

判断是否能继续读取数据:
如果能–>返回 true
如果不能–>返回 false

c. 对用户输入的若干个整数进行求和,代码:

int sum = 0;
System.out.println("请输入数并以回车做结尾:");
while(scanner.hasNextInt()){
	int num = scanner.nextInt();
	System.out.println("输入的数是:" + num);
	sum += num;
}
System.out.println("和为" + sum);

这时会发现缺少一个终止的条件,计算机并不知道要输多少个数才停止。只有停止输入,读输出语句时,我们才能看到sum 的结果。
我们需要借助一个特殊的字符:EOF(end of file)。
Windows上使用ctrl + z 触发 EOF
Linux/max 使用 ctrl + d 触发 EOF
IDEA的终端也是通过 ctrl + d 触发EOF(IDEA跨平台)

Java : Scanner用法 干货 简明
使用ctrl + d 后,会出现 ^D(代表ctrl + d),触发了EOF,让循环结束,执行打印语句,结束程序。

本文地址:https://blog.csdn.net/qq_50916191/article/details/112225886

相关标签: Java