在Java中,main()方法除了字符串数组外,还能接受其他参数吗?
公共静态void main()方法接受来自用户的**String**类型的数值数组。
public class{ public static void main(String[] args){ } }
您可以在执行时,在类名之后用空格隔开传递它们,例如:
java ClassName 10 20 30
然后,在程序(main方法中),您可以从String数组中提取这些值并使用。
示例
例如,您可以使用命令行参数在上述程序中传递a和b,例如:
public class Sample { public static void main(String[] args){ int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); int c = a+b; System.out.println("Sum of the two numbers is "+c); } }
输出
您可以编译并运行程序,通过命令提示符在执行行传递值,如下所示:
main方法的其他参数
您可以使用除了String以外的其他参数编写public static void main()方法,程序也能编译通过。
由于main方法是Java程序的入口点,因此每当您执行一个程序时,JVM都会搜索main方法,该方法是公共的、静态的,返回类型为void,并且参数为String数组。
Public static void main(String args[]){ }
如果缺少任何一项,JVM都会引发错误。因此,如果您使用其他数据类型(除了String数组)作为参数编写方法,在执行时,JVM不会将此新方法视为Java的入口点,并会生成错误。
示例
在下面的Java程序中,我们尝试使用整数数组作为main方法的参数。
public class MainExample { public static void main(int args[]) { System.out.println("Hello how are you"); } }
输出
执行此程序时,会生成以下错误:
Error: Main method not found in class MainMethodExample, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application
广告