最近研究Java发现,main方法后总是带有String args[],不知这是什么意思,于是上网研究研究,与大家分享。

public static void main(String[] args)



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



args=arguments 是你的函数的

形参。该单词可以翻译为“入口参数”。




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


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

class Example 
 

 { 
 
 public static void main(String args[]) 
 

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




你在运行的时候加个参数,比如 java testXX。然后在你的main函数里面加这段话:System.out.println("argis"+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方法和带Stringargs[]的main方法,本质上已经不是同一个方法了,java 本身不存在不带Stringargs[]的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函数罢了。 
 
 
  
  
  
  
  
  

 

 

         
 
 最近研究Java发现,main方法后总是带有String 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 testXX。然后在你的main函数里面加这段话:System.out.println("argis"+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方法和带Stringargs[]的main方法,本质上已经不是同一个方法了,java 本身不存在不带Stringargs[]的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函数罢了。