今天学会了如何接收用户的键盘输入
接收用户输入是什么意思呢?
这是我的理解:
eclipse中有编写代码的区域和结果显示的区域(控制台),我们一般都是在代码区进行操作,然后执行结果会显示在控制台,就可以说明控制台能够读懂我们在代码区写的代码,那么反过来,如果我在控制台上输入一些内容,让代码区能够读懂这些内容这个过程就是接收用户输入。
如何接收用户输入?
这里就需要一个“扫描仪”——Scanner,Scanner是Java提供的能够读取键盘输入的一个类,具体如下:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYTMfhHLlN3XnxCM38FdsYkRGZkRG9lcvx2bjxCMy8VZ6l2csIUe3cja1xUNqlnW1cWL0UjTtQTNX90N1IVdiZDRDpVN690b1IVavVTQClGVF5UMR9Fd4VGdsATNfd3bkFGazxycykFaKdkYzZUbapXNXlleSdVY2pESa9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZwpmL0QjN2QTMxMjM4ETOwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
Scanner input = new Scanner(System.in)是啥意思?
Scanner是一个标准的Oracle类,用于扫描读取控制台的输入;
input是变量名,你可以取其他名字;
new Scanner按字面意思就是新的scanner类
System.in是标准输入流(也叫键盘输入流),即从控制台输入
连起来意思就是:扫描从控制台输入的内容作为一个新的scanner对象赋值给input这个变量
简而言之,就是把从控制台读取到的东西定义为一个新的变量。
接着需要输出一个题目:System.out.println("请输入xxxxxx")让其作为指令出现在控制台上
int i = input.nextInt();定义一个变量i为用户输入的整型数据类型,这里的数据类型还可以是nextDouble,nextByte,nextChar等等,如果定义的是这些数据类型的话,用户输入的必须是是相应的数据类型,否则执行结果会报错,就比较限制,而且很麻烦。
那有没有更加简便的方法呢?
有!
①input.next(); 用户可以输入各种数据类型,返回值是字符串(String str = input.next())只能读取到有效字符串,字符串之后遇到回车或空格或tab键即结束。
什么是有效字符串?
例如:空格空格空格123 123就是有效字符串
空格123空格345 只有123是有效字符串,输出的也只有123,因为123后有空格,一遇回车或空格或tab键程序即结束。
②input.nextLine();用户可以输入各种数据类型,返回值也是字符串
(String str = input.nextLine()),但可以读取整行内容,遇回车才会结束。
例如:123空格456 读取到的就是123 456
今天的快乐就到此为止吧!
明天依旧享受和Java的欢乐时光!