在 Java 中,main() 方法是否接受除字符串数组之外的参数?
java 8object oriented programmingprogramming
public static void main() 方法从用户那里接受一个类型为 String Java 的值数组。
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 程序中,我们尝试使用整数数组作为主方法的参数。
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