首页 >Java >java教程 >Java public static void main(String args) Java 公共静态 void 主函数(String 参数)

Java public static void main(String args) Java 公共静态 void 主函数(String 参数)

王林
王林转载
2023-08-18 20:33:021663浏览

Java public static void main(String args) 

Java 公共静态 void 主函数(String 参数)

当JVM调用main()方法时,Java程序开始执行。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
   }
}

Example 1

的中文翻译为:

示例 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文件中,至少应该有一个公共类可用。按照惯例,主方法必须在一个类中定义,因为在java中所有的东西都在类的内部。这显示了java是一种面向对象的语言。

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

public

的翻译为:

公开的

public是一个访问修饰符,用于定义变量和方法的可见性和可访问性。使用public关键字定义的变量和方法可以被任何类和包访问。之前我们讨论过JVM调用main()方法,而该方法不位于当前类中。因此,main()方法被声明为public,以便我们可以在全局范围内或任何地方访问它。

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

Example 2

的翻译为:

示例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()方法,这就是为什么我们需要将其声明为静态的原因。

Example 3

的中文翻译为:

示例 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()方法声明为静态会发生什么。

Example 4

的中文翻译为:

示例 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,它将在编译时抛出错误。

让我们通过一个例子来理解 -

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

Example 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 “Your String”

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’从终端接收输入。

以上是Java public static void main(String args) Java 公共静态 void 主函数(String 参数)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除