Java学习笔记(十)--控制台输入输出

输入输出

一、控制台输入

在程序运行中要获取用户的输入数据来控制程序,我们要使用到 java.util 包中的 Scanner 类。当然 Java 中还可以使用其他的输入方式,但这里主要讲解 Scanner 类方法。关于 Scanner 类我们可以直接通过了解它的 API 文档来使用它。

Scanner 类定义在 java.util 包中。当使用的类不是定义在基本 java.lang 包中时,一定要使用 import 关键字导入相应的包。

要通过控制台进行输入,首先需要构造一个 Scanner 对象,并与 “标准输入流” System.in 关联。

Scanner in = new Scanner(System.in);

构造完对象之后,我们就可以使用 Scanner 类的各种方法来实现输入操作了。

1.1 获取字符串

使用 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串。在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断缓冲区是否有输入的数据,返回值为布尔值。

1、String next()

读取输入的第一个单词(以空格作为分隔符)

String str = in.next();
  • 一定要读取到有效字符后才可以结束输入。
  • 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
  • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。

接收到一个数据之后,空白之后的其他内容即将继续存在缓存中。一定要将缓存区的内容处理,否则会影响后面的输入接收。

2、String nextLine()

读取输入的一行内容。

String str = in.nextLine();
  • 以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。字符串允许包含空格。

1.2 读取数字

如果要输入整型或浮点型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法(返回值为布尔类型)进行输入的类型验证,再使用 nextXxx() 来读取。

想要读取一个整数,可以调用 nextInt() 方法。

int i = in.nextInt();

与此类似,想要读取浮点数可以使用 nextDouble() 方法。更多方法请自行阅读 Scanner 类方法。

1.3 读取密码

因为输入是可见的,所以 Scanner 类不适用于从控制台读取密码。我们可以使用 Console 类来实现这个目的。

Console cons = System.console();
String username = cons.readLine("User name: ");
char[] passwd = cons.readPassword("PassWord: ");

为了安全起见,返回的密码存放在一个一维数组中,而不是字符串中。在对密码进行处理之后,应该马上用一个填充值覆盖数组元素。

例:实现获取用户名和密码,并将其打印出来。

import java.io.Con
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值