在java控制台程序中的输入不像在C或其他语言那么的简单因此很多java基础教程并没有介绍然而它又是很重要的尤其对于像我们这些由C或C++转java的同学因此我想对Java的输入语句做一些探讨当然作为初学者的我这样做是班门弄斧而我只是想起到抛砖引玉的作用希望大家一起讨论并不惜赐教!
首先javautilScanner包中的Scanner(中文意思是扫描仪)类这个类是一个final类继承于object类从它的类名上就可以看出它有点类似于扫描仪所以它只能扫描用户输入到屏幕上的信息这是就需要一个Systemin然后再扫描(我是这样认为的)当然它扫描到的只是字符但在需要时可以转换成其他类型它提供了很多此类的方法String next() BigDecimal nextBigDecimal() BigInteger nextBigInteger() BigInteger nextBigInteger(int radix) boolean nextBoolean() byte nextByte() byte nextByte(int radix) double nextDouble() float nextFloat() int nextInt() int nextInt(int radix) String nextLine() long nextLong() long nextLong(int radix) short nextShort() short nextShort(int radix) 这些方法都可以得到相应类型的数据例
如
import javautilScanner;
public class Importtext {
public static void main(String[] args) {
Scanner sc = new Scanner(Systemin);
int i = scnextInt();
Systemoutprintln(i);
}
}
这个例子就可以得到一个整型的数据
(关于Scanner的东西还有很多我看的还不是很清楚只知道一些简单的更复杂的东西请高手指点!)
再有就是这个BufferedReader类这个类从字符输入流中读取文本缓沖各个字符从而提供字符数组和行的高效读取(摘自Java帮助文档)因此它需要缓沖区创建缓沖区的构造方法有两个BufferedReader(Reader in) 创建一个使用默认大小输入缓沖区的缓沖字符输入流BufferedReader(Reader in int sz) 创建一个使用指定大小输入缓沖区的缓沖字符输入流类似的它读的也是字符串需要是进行处理即将字符串转换成整型浮点型等类型我见过的类型转换有IntegerparseInt()这个函数是静态类Integer的一个方法parse的意思是解析这样就很明白了类似的我还见过FloatparseFloat()举个例子吧
import javaio*;
public class importtext {
public static void main(String[] args) {
String st;
int num;
float fnum;
try{
Systemoutprint(输入);
BufferedReader br=new BufferedReader(new InputStreamReader(Systemin));
st = brreadLine();
Systemoutprint(输入一个数);
num = IntegerparseInt(brreadLine());
Systemoutprint(输入一个浮点数);
fnum = FloatparseFloat(brreadLine());
Systemoutprint(输出+st+\n);
Systemoutprint(输出+num+\n);
Systemoutprint(输出+fnum+\n);
}catch(IOException e){}
}
}
还有就是运行加参数这个方法因为我没有用DOS界面输入命令的方法所以没有用但是听比较牛的学长说过这个方法就查了一下也比较新颖吧拿出来说说因为Java的主函数是带参数的(我也见过C++的主函数带参数但是自己搞加参数是不行不知道为什么知道的可以指点一下!谢谢)args[]这个字符串数组它是可以接收数据的当你编写好程序后编译成字节码文件后运行时加实参【java 文件名 参数(字符串)】这个就不举例子了
这是我学Java时一点小小的总结肯定有很多的纰漏希望各位能不惜赐教谢谢大家