在 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

相关文章