Java : Scanner用法 干货 简明

开发者训练营官方
发布于 2021-1-8 10:35
浏览
0收藏

1 创建对象
创建Scanner类型的变量

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

(1) 其中,输入Scanner时,当它出现下面的目录时,按 Tab键 会自动补全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,让循环结束,执行打印语句,结束程序。

收藏
回复
举报
回复
    相关推荐