首頁  >  文章  >  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:021612瀏覽

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刪除