Java : Scanner用法 干货 简明

代码运行环境:IDEA

1 创建对象

创建Scanner类型的变量

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

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

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跨平台)

在这里插入图片描述
使用ctrl + d 后,会出现 ^D(代表ctrl + d),触发了EOF,让循环结束,执行打印语句,结束程序。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值