Java public static void main(String[] args)

Java public static void main(String[] args)

java程序在JVM调用main()方法时开始执行。Java应用程序从此方法开始。没有main方法,java文件将会编译成功,因为编译器在编译时不检查main方法,但在运行时JVM检查main()方法是否可用。因此,我们会在运行时得到一个异常。

在本文中,我们将了解为什么遵循约定“public static void main(String[] args)”。

语法

public class class_name {
   // This line must be written as it is
   public static void main(String[] args) {  
      // code will be wriiten here
   }
}

示例1

public class Tutorialspoint {
   public static void main(String []args) {
      System.out.println("Hello, you are on tutorials point");
   }
}

输出

Hello, you are on tutorials point

在我们的java文件中,至少应该有一个公共类可用。按照惯例,main方法必须定义在一个类中,因为在java中,一切都在类中。这表明java是一种面向对象的语言。

在上面的示例中,类’Tutorialspoint’包含main()方法。让我们讨论main()方法的各个部分−

public

public是一个访问修饰符,它定义了变量和方法的可见性或可访问性。使用public关键字定义的变量和方法对任何类和包都是可访问的。我们之前已经讨论了JVM如何调用main()方法,并且它不位于当前类中。因此,main()方法被声明为public,以便我们可以全局访问它或从任何地方访问它。

如果我们不在main()方法中使用public关键字会怎样?

示例2

public class Tutorialspoint {
   static void main(String []args){
      System.out.println("Hello, you are on tutorials point");
   }
}

输出

Error: Main method not found in class Tutorialspoint, please define the main method as:
   public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application

我们出现错误的原因是因为JVM找不到main()方法。

static

通常,我们通过创建其类的对象来调用方法,但静态方法可以在不使用对象的情况下调用。JVM在创建任何对象之前调用main()方法,所以我们需要将其声明为静态。

示例3

大多数内置类Math的成员都是静态的。我们可以直接使用它们而无需创建对象。

public class Main {
   public static void main( String[] args ) {
      double x = 6.55;
      double y = 4.32;
      System.out.println(" Ceil value of x: " + Math.ceil(x) );
      System.out.println(" Floor value of y: " + Math.floor(y) );
   }
}

输出

Ceil value of x: 7.0
 Floor value of y: 4.0

上面的示例说明了Math类的静态方法ceil()和floor()的使用。我们可以看到,在我们的程序中直接使用了它们,而不需要创建Math类的任何对象。

让我们看看如果我们不将main()方法声明为静态会发生什么。

示例4

public class Tutorialspoint {
   public void main(String []args){
      System.out.println("Hello, you are on tutorials point");
   }
}

输出

Error: Main method is not static in class Tutorialspoint, please define the main method as:
   public static void main(String[] args)

JVM无法调用上述代码。

void

返回类型void表示该方法不返回任何内容。在Java中,main()方法是程序的入口和退出点。当main()方法执行完毕时,Java程序也结束执行。如果我们提供任何返回类型,如int或double,那么在编译时会抛出错误。

让我们通过一个示例来理解−

示例5

public class Tutorialspoint {
   public int main(String []args){
      System.out.println("Hello, you are on tutorials point");
   }
}

输出

Tutorialspoint.java:4: error: missing return statement
    }
    ^
1 error

这是一个编译时错误。编译器要求返回语句,但对JVM没有用处。

main()

main是方法的名称,不要误以为它是一个关键词。它总是以 “main” 的形式书写。

String[] args

String[] args是一个接受String类型参数的参数。它允许我们通过终端传递参数,并将这些参数存储在字符串数组中。我们可以说String[] args是一个命令行参数。

示例6

本例将说明如何将参数从终端传递给java文件。

public class Arg {
   public static void main(String []args){
      // for each loop to print argument taken from terminal
      for(String arg : args) {  
         System.out.println(arg);
      }
   }
}

输出

在终端上编译代码,输入命令:javac Arg.java

在终端上运行代码,输入命令:java Arg “你的字符串”

PS D:\Java Programs> java Arg "Hello, You are on Tutorials Point"
Hello, You are on Tutorials Point

结论

在本文中,我们讨论了理解“public static void main(String[] args)”的Java程序。我们还讨论了如何使用参数“String[] args”从终端接收输入。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程