[英]main method in java why Accept invalid String args
我用public static void main(String arg[])
或public static void main(String[] arg)
創建了一個Java應用程序
但昨天我發現,如果我使用public static void main(String... args)
編譯一個程序,這也完全正常。 為什么?
這是因為 ,
以任何形式寫入Datatype ... var_name
只是var args
它可以接受該類型的任意數量的參數。
這樣就像Array一樣。
ex: String ... args
相當於String[] args
這稱為可變長度參數,您可以使用相同的數據類型發送任意數量的參數。 可能一個問題必須出現在你的腦海中,“這些功能可以超負荷嗎?” 答案是肯定的。
該示例顯示了VARGS的工作原理
public class VarargsTest
{ // calculate average
public static double average( double... numbers )
{ double total = 0.0; // initialize total
// calculate total using the enhanced for statement
for ( double d : numbers )
total += d;
return total / numbers.length;
} // end method average
public static void main( String args[] )
{
double d1 = 10.0;
double d2 = 20.0;
double d3 = 30.0;
double d4 = 40.0;
System.out.printf( "d1 = %.1f\nd2 = %.1f\nd3 = %.1f\nd4 = %.1f\n\n", d1, d2, d3, d4 );
System.out.printf( "Average of d1 and d2 is %.1f\n",
average( d1, d2 ) );
System.out.printf( "Average of d1, d2 and d3 is %.1f\n",
average( d1, d2, d3 ) );
System.out.printf( "Average of d1, d2, d3 and d4 is %.1f\n",
average( d1, d2, d3, d4 ) );
} // end main
} // end class VarargsTest
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.