Java 公共静态 void main(String[] args)
当 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
}
}
示例 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,以便我们可以全局或从任何地方访问它。
如果我们不使用 public 关键字与 main() 方法一起使用会怎样?
示例 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() 方法,因此我们需要将其声明为 static。
示例 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() 方法声明为 static 会发生什么。
示例 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 “Your String”
PS D:\Java Programs> java Arg "Hello, You are on Tutorials Point" Hello, You are on Tutorials Point
结论
在本文中,我们讨论了 Java 程序以了解“public static void main(String[] args)”的用法。我们还讨论了如何使用参数“String[] args”从终端获取输入。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP