java main方法里的args 辨析

public static void main(String[] args)

String[]: 是String数组 ,(注意 String中的S是大写)例如 int[] 数组等等。

args=arguments 是你的函数的形参。该单词可以翻译为“入口参数”。

在下面这个程序中String args[]起什么作用?
class Example


public static void main(String args[])


   System.out.println("This is a simple Java program."); 

}

String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test 那么你在cmd运行 java test a b c 时,args[0] = a ,args[1]=b, args[2]=c 你就可以在你的程序中调用你输入的这些变量了。 


你在运行的时候加个参数,比如 java test XX。然后在你的main函数里面加这段话:System.out.println("arg is"+args[0]),然后看看输出是什么? 
是不是这个: 
This is a simple Java program 
arg is XX 

你还可以试试这样,在运行时输入java test xx yy zz,并且在你的main函数里面加这段话:

System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然后看看输出是什么? 
是不是: 
This is a simple Java program 
arg is xx yy zz 

现在你理解了吗

如果没关系,为什么程序中去掉String args[]会出现错误?

答案:
出错在于,不带String args[]的main方法和带String args[]的main方法,本质上已经不是同一个方法了,java 本身不存在不带String args[]的main方法,所以当然出错。

String[] args是main函数的形式参数,或者说入口参数,可以用来获取命令行用户输入进去的参数。

但是你在写程序的时候不管用的到用不到,声明main函数的时候一定要在括号里写上它,否则会报错。 
我再给你举个用到String[] args的例子,

class Example 

public static void main(String[] args) 

System.out.println(args[0]); 
System.out.println(args[1]); 


那么这个程序在执行的时候就需要向main函数传递形式参数的值,好让main函数完成打印的功能。 
注:String[] args显示args是一个String类型的数组,args[0]、args[1]是头两个元素。 
上面那个小程序执行的时候是这样: 
首先,和其他的java程序一样,在命令提示符那个框框里输入 
javac Example.java 
再输入 
java Example straul good 
后面两个字符串随便写什么,它们作为实参传入main函数,straul传入args[0],good传入args[1]。 
那么屏幕会出现: 
straul 
good 
这和在main函数里调用其他函数并且向被调用函数传递参数是一样的道理,只不过传给main函数罢了。


原文:http://hi.baidu.com/okyouli/item/87d4a8c6038432c4984aa002

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值