Java控制台程序如何输入语句?
在java控制台程序中的输入不像在C或其他语言那么的简单,因此很多java基础教程并没有介绍。然而它又是很重要的,尤其对于像我们这些由C或C++转java的同学,因此我想对Java的输入语句做一些探讨。 当然,作为初学者的我这样做是班门弄斧,而我只是想起到抛砖引玉的作用,希望大家一起讨论,并不惜赐教!
首先,java。util。Scanner包中的Scanner(中文意思是扫描仪)类,这个类是一个final类继承于object类,从它的类名上就可以看出它有点类似于扫描仪,所以它只能扫描用户输入到屏幕上的信息,这是就需要一个System。 in然后再扫描(我是这样认为的)。当然它扫描到的...全部
在java控制台程序中的输入不像在C或其他语言那么的简单,因此很多java基础教程并没有介绍。然而它又是很重要的,尤其对于像我们这些由C或C++转java的同学,因此我想对Java的输入语句做一些探讨。
当然,作为初学者的我这样做是班门弄斧,而我只是想起到抛砖引玉的作用,希望大家一起讨论,并不惜赐教!
首先,java。util。Scanner包中的Scanner(中文意思是扫描仪)类,这个类是一个final类继承于object类,从它的类名上就可以看出它有点类似于扫描仪,所以它只能扫描用户输入到屏幕上的信息,这是就需要一个System。
in然后再扫描(我是这样认为的)。当然它扫描到的只是字符,但在需要时可以转换成其他类型,它提供了很多此类的方法: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 java。util。Scanner;
public class Importtext {
public static void main(String[] args) {
Scanner sc = new Scanner(System。
in);
int i = sc。nextInt();
System。out。println(i);
}
}
这个例子就可以得到一个整型的数据。
(关于Scanner的东西还有很多,我看的还不是很清楚只知道一些简单的,更复杂的东西,请高手指点!)
再有就是这个BufferedReader类,这个类“从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取”(摘自Java帮助文档),因此它需要缓冲区。
创建缓冲区的构造方法有两个:BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的缓冲字符输入流。BufferedReader(Reader in, int sz) 创建一个使用指定大小输入缓冲区的缓冲字符输入流。
类似的它读的也是字符串,需要是进行处理,即将字符串转换成整型、浮点型等类型。我见过的类型转换有Integer。parseInt()这个函数,是静态类Integer的一个方法parse的意思是解析,这样就很明白了。
类似的我还见过Float。parseFloat(),举个例子吧:
import java。io。*;
public class importtext {
public static void main(String[] args) {
String st;
int num;
float fnum;
try{
System。
out。print("输入:");
BufferedReader br=new BufferedReader(new InputStreamReader(System。in));
st = br。
readLine();
System。out。print("输入一个数:");
num = Integer。parseInt(br。readLine());
System。out。print("输入一个浮点数:");
fnum = Float。
parseFloat(br。readLine());
System。out。print("输出:"+st+'\n');
System。out。print("输出:"+num+'\n');
System。
out。print("输出:"+fnum+'\n');
}catch(IOException e){}
}
}
还有就是运行加参数这个方法,因为我没有用DOS界面输入命令的方法所以没有用,但是听比较牛的学长说过这个方法就查了一下,也比较新颖吧,拿出来说说,因为Java的主函数是带参数的(我也见过C++的主函数带参数,但是自己搞加参数是不行,不知道为什么,知道的可以指点一下!谢谢),args[]这个字符串数组,它是可以接收数据的。
当你编写好程序后,编译成字节码文件后运行时加实参【java 文件名 参数(字符串)】,这个就不举例子了。
这是我学Java时一点小小的总结,肯定有很多的纰漏希望各位能不惜赐教,谢谢大家。
编辑特别推荐:
Java中如何注册协议
java函数参数传递
Java语言的接口与类型安全。
收起