1.publicclassvoidmain(Stringargs[])什么意思?
作用:
当你使用命令行的形式运行.class文件时,向你的类传递参数.
C:\>javaYourClassName参数1[参数2参数3....]
参数之间用一个空格作为间隔符.
String[]args这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test那么你在cmd运行javatestabc时,args[0]=a,args[1]=b,args[2]=c你就可以在你的
程序中调用你输入的这些变量了。
args[]不就是那个字符串Thisisasimple
Javaprogram吗?
-------完全不是的,你理解不对。这样好了,你在运行的时候加个参数,比如javatestXX。然后在你的main函数里面加这段话:System.out.println("argis"+args[0]),然后看看输出是什么?
是不是这个:
ThisisasimpleJavaprogram
argisXX
在运行时输入javatestxxyyzz,并且在你的main函数里面加这段话:System.out.println("argis"+args[0]+""+args[1]+""+args[2]),然后看看输出是什么?
是不是:
ThisisasimpleJavaprogram
argisxxyyzz
现在你理解了吗。。。
如果没关系,为什么程序中去掉Stringargs[]会出现错误?
--------之所以去掉会出错在于,不带Stringargs[]的main函数和带Stringargs[]的main函数,本质上已经不是同一个函数了,java本身不存在不带Stringargs[]的main函数,所以当然出错了。
2.输入方式
1.从控制台接收一个字符,然后将其打印出来
publicstaticvoidmain(String[]args)throwsIOException{
System.out.print("EnteraChar:");
chari=(char)System.in.read();
System.out.println("yourcharis:"+i);
}
}
虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。
2.从控制台接收一个字符串,然后将其打印出来。在这个题目中,我们需要用到BufferedReader类和InputStreamReader类
publicstaticvoidmain(String[]args)throwsIOException{
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
Stringstr=null;
System.out.println("Enteryourvalue:");
str=br.readLine();
System.out.println("yourvalueis:"+str);
}
这样我们就能获取我们输入的字符串。
3.这种方法我认为是最简单,最强大的,就是用Scanner类
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("请输入你的:");
Stringname=sc.nextLine();
System.out.println("请输入你的年龄:");