国外手表网站,房地产 网站 欣赏,网站备案可以变更吗,做项目的网站Java——键盘输入的几种常见方式 文章目录#xff1a; Java——键盘输入的几种常见方式一、IO流二、Scanner类三 、BufferedReader写入 一、IO流
在Java的输入中#xff0c;是以输入流的形式进入程序#xff0c;因此无法直接指定输入的类型#xff0c;仅能读取键盘上的内容…Java——键盘输入的几种常见方式 文章目录 Java——键盘输入的几种常见方式一、IO流二、Scanner类三 、BufferedReader写入 一、IO流
在Java的输入中是以输入流的形式进入程序因此无法直接指定输入的类型仅能读取键盘上的内容返回一个ASCII码所以在使用输入流的时候本质是一串ASCII码需要将类型强转至char才能正确显示。
在Java的IO流中键盘所输入的会先存放到缓冲流中当按下Enter键的时候将缓重流中的数据写入到内存中因为此性质我们无法在键盘输入的过程中直接获取内容。
class InputDemo {public static void main(String[] args)throws java.io.IOException{int input;input(int) System.in.read();System.out.println(input);}
}当我们输入 t t t此时输出的值为其ASCII码 116 116 116当我们将里面的 i n t int int改为 c h a r char char程序将正常显示出字母 t t t。
class InputDemo {public static void main(String[] args)throws java.io.IOException{char input;input(char) System.in.read();System.out.println(input);}
}在System.io.read()函数中read是等待回车键刷取缓存的内容因此此函数不能吸收回车和换行符但readLine函数可以吸收回车和换行。若只是用read函数可以采用写两个read进行吸收回车。
因为Java的异常捕获机制我们需要在函数的开头加上throws java.io.IOException
二、Scanner类
从Java5开始Java引入了Scanner类作为输入的类型。由上可知Java的输入是以流的方式进入只能以字符串的形式进入但Scanner类支持以数据类型读取内容。
由于我们是使用Scanner这个类进行输入控制因此首先我们需要构造出这个类的对象。
Scanner inputnew Scanner(System.in);其中Scanner的函数常见的为.nextxxxxxx为数据类型若类型为字符串需要使用.nextLine或者.next。.next相当于C/C中的scanf和cin遇到空格或回车就停止。.nextLine相对于C/C中的gets。
class InputDemo {public static void main(String[] args){Scanner inputnew Scanner(System.in);String ininput.next();System.out.println(in);}
}三 、BufferedReader写入
以上两种方法是用的字符输入流的形式BufferedReader采用的是缓存输入流的形式。
同样此类在java.io.*内因此我们需要在开头导入包。
import java.io.*;//*表示此目录下的所有
import java.io.BufferedReader;//直接导入BufferedReader和正常的io流成员类型基本一致唯一不同是类的构建BufferedReader需要使用字符输入流作为基类。
BufferedReader input new BufferedReader(new InputStreamReader(System.in));