黑马程序员技术交流社区
标题:
mian函数中String[] args
[打印本页]
作者:
陈斌
时间:
2012-2-28 20:58
标题:
mian函数中String[] args
学习java有一段日子的、、可是mian函数中String[] args 中的args数组是干嘛用还真没搞懂。
作者:
刘基军
时间:
2012-2-28 21:18
args用于接收参数。
用法:
javac TestDemo.java
java TestDemo
"hello java" haha
class TestDemo
{
public static void main(String[] args)
{
for(String s:args)
System.out.println(s);
}
}
复制代码
输出结果:
hello java
haha
复制代码
作者:
陈斌
时间:
2012-2-28 21:23
刘基军 发表于 2012-2-28 21:18
args用于接收参数。
用法:
javac TestDemo.java
class PicClient{
24. public static void main(String[] args) throws Exception{
25. if(args.length!=1){
26. System.out.println("请选择一个jpg格式的图片");
27. return;
28. }
29. File file = new File(args[0]);
30. if(!(file.exists()&&file.isFile())){
31. System.out.println("该文件有问题,要么不存在,要不不是文件");
32. return;
33. }
34. if(!file.getName().endsWith(".jpg")){
35. System.out.println("图片格式错误,请重新选择jpg");
36. return;
37. }
38. if(file.length()>1024*1024){
39. System.out.println("图片过大");
40. return;
41. }
42. Socket s = new Socket("127.0.0.1",10007);
43. FileInputStream fis = new FileInputStream(file);
44. OutputStream out = s.getOutputStream();
45. byte[] buf = new byte[1024];
46. int len = 0;
47. while((len=fis.read(buf))!=-1){
48. out.write(buf,0,len);
49. }
50. s.shutdownOutput();
51. InputStream in = s.getInputStream();
52. byte[] bufIn = new byte[1024];
53. int num = in.read(bufIn);
54. System.out.println(new String(bufIn,0,num));
55. fis.close();
56. s.close();
57. }
58.}
那这个程序里的args呢??
作者:
刘基军
时间:
2012-2-28 21:29
File file = new File(
args[0]);
//这边就是通过读取你输入的值作为路径,创建一个新 File 实例。
所以你就该在编译时:java PicClient
d:\
(d:\是举例写的,根据你实际需求输入即可)
作者:
刘峰
时间:
2012-2-28 21:35
这个是运行程序前给它的参数。。
如果你在你程序要用这个参数的话就需要在运行前指定。。
比如java HelloWorld ceshi
那么在HelloWorld的main方法里面 args就是{"ceshi"}
多个的话用空格隔开..
比如java HelloWorld ceshi ceshi1 ceshi2
那么那么在HelloWorld的main方法里面 args就是{"ceshi", "ceshi1", "ceshi2"}
也就是说你假如你的程序是这样的
public class HelloWorld{
public static void main(String[] args) {
System.out.println(args[0]);
}
}
然后你编译
运行的时候这样运行
java HelloWorld hello
那么这个程序就会输出hello
之所以是Stirng 是因为我们只能以字符串的形式输入
名字的话随便取。。只要符合java规定就行
作者:
冯兵兵
时间:
2012-2-28 21:55
args数组是用来接收参数的。例如:
public class ArgsDemo{
public static void main(String[] args) {
for(int x = 0;x<args.length;x++)
System.out.println(args[x]);
}
}
javac ArgsDemo.java
java ArgsDemo "hello" "world"
输出结果:
hello
world
作者:
代臣
时间:
2012-2-29 15:13
args原本是arguments(中文意思是参数,argument的复数形式),简写为args,
它是String类型的数组,因为定义格式就是String[] args,而就像定义数组一样,数组名可以随便定义。
希望对你有用。
作者:
胡军喜
时间:
2012-3-1 17:21
String[] args 中的args数组是传递给main方法的参数,以供你后续使用,你可以在main方法中打印。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2