logo

Java main() Methode – public static void main(String[] args)

Javas main()-Methode ist der Ausgangspunkt, von dem aus die JVM startet die Ausführung eines Java-Programms. JVM führt den Code nicht aus, wenn dem Programm die Hauptmethode fehlt. Daher ist es eine der wichtigsten Methoden von Java und es ist sehr wichtig, sie richtig zu verstehen.

Der Java-Compiler oder die JVM sucht nach der Hauptmethode, wenn er mit der Ausführung eines Java-Programms beginnt. Die Signatur der Hauptmethode muss auf eine bestimmte Weise erfolgen, damit die JVM diese Methode als Einstiegspunkt erkennt. Wenn wir die Signatur der Methode ändern, wird das Programm kompiliert, aber nicht ausgeführt.



Die Ausführung des Java-Programms, das java.exe wird genannt. Die Java.exe wiederum führt Java Native Interface- oder JNI-Aufrufe durch und lädt die JVM. Die java.exe analysiert die Befehlszeile, generiert ein neues String-Array und ruft die Methode main() auf. Standardmäßig ist der Hauptthread immer ein Nicht-Daemon-Thread.

Syntax der main()-Methode

Die Syntax der main()-Methode lautet immer wie folgt:

Rufen Sie eine JS-Funktion aus HTML auf

Syntax der Java main()-Methode



Beispiel

Die gebräuchlichste Definition der main()-Methode wird im folgenden Beispiel gezeigt.

Java
// Java Program to demonstrate the // syntax of the main() function class techcodeview.com {  public static void main(String[] args)  {  System.out.println('I am a Geek');  } }>

Ausgabe
I am a Geek>

Jedes Wort in der Public static void Main Die Anweisung hat in der JVM eine Bedeutung, die unten beschrieben wird:

1. Öffentlich

Es ist ein Zugriffsmodifikator , die angibt, von wo aus und wer auf die Methode zugreifen kann. Wenn Sie die main()-Methode öffentlich machen, ist sie global verfügbar. Es wird öffentlich gemacht, damit JVM es von außerhalb der Klasse aufrufen kann, da es in der aktuellen Klasse nicht vorhanden ist.



Wenn die Hauptmethode nicht öffentlich ist, ist ihr Zugriff eingeschränkt.

Beispiel:

Java
// Java Program to demonstrate the // use of any other access modifier // other than public class techcodeview.com {  private static void main(String[] args)  {  System.out.println('I am a Geek');  } }>


Ausgabe

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

2. Statisch

es ist ein Stichwort das heißt, wenn es mit einer Methode verknüpft ist, was es zu einem macht klassenbezogene Methode . Der hauptsächlich() Die Methode ist statisch, sodass JVM sie ohne aufrufen kann Instanziieren der Klasse . Dies erspart auch unnötige Speicherverschwendung, die das deklarierte Objekt nur zum Aufrufen des verwendet hätte hauptsächlich() Methode der JVM.

Wenn Sie versuchen, Java-Code auszuführen, bei dem main nicht statisch ist, erhalten Sie eine Fehlermeldung.

Beispiel:

Java
// Java Program to demonstrate the // error occurred when we dont use the // static keyword in the main() method class techcodeview.com {  public void main(String[] args)  {  System.out.println('I am a Geek');  } }>


Ausgabe

char + int in Java
Error: Main method is not static in class test, please define the main method as: public static void main(String[] args)>

3. Nichtig

es ist ein Stichwort und ist es gewohnt Geben Sie an, dass eine Methode nichts zurückgibt . Als die hauptsächlich() Die Methode gibt nichts zurück, ihr Rückgabetyp ist Leere . Sobald hauptsächlich() Wenn die Methode beendet wird, wird auch das Java-Programm beendet. Daher macht es keinen Sinn, von dort zurückzukehren hauptsächlich() Methode, da JVM mit ihrem Rückgabewert nichts anfangen kann.

Wenn die Hauptmethode nicht ungültig ist, erhalten wir eine Fehlermeldung.

Beispiel:

Java
// Java Program to demonstrate the // error occurred when we dont use the // void return type in the main() method class techcodeview.com {  public static int main(String[] args)  {  System.out.println('I am a Geek');  return 1;  } }>


Ausgabe

Error: Main method must return a value of type void in class Main, please define the main method as: public static void main(String[] args)>

4. Haupt

Es ist der Name der Java-Hauptmethode . Es ist der Identifikator dass die JVM nach dem sucht Ausgangspunkt des Java-Programms . Es ist kein Schlüsselwort.

Wenn wir den Namen ändern, während wir die Hauptmethode starten, erhalten wir eine Fehlermeldung.

Beispiel:

Java
// Java Program to demonstrate the // error occurred when we name the // main() method as newmain. class techcodeview.com {  public static void newmain(String[] args)  {  System.out.println('I am a Geek');  } }>


Ausgabe

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

5. String[]-Argumente

Es speichert die Java-Befehlszeile Argumente und ist ein Array vom Typ java.lang.String Klasse. Hier lautet der Name des String-Arrays args Dies ist jedoch nicht festgelegt und der Benutzer kann stattdessen einen beliebigen Namen verwenden.

Linkedlist Java

Beispiel: Ausführungsprozess von String[]

Java
// Java Program to demonstrate // the working of String[] args // in the main() method class techcodeview.com {  // Commamd-Line Code ->// javac techcodeview.com.java // java techcodeview.com 1 2 3 public static void main(String[] args) { for (String elem : args) System.out.println(elem);  } }>


Ausgabe

1 2 3>

Abgesehen von der oben genannten Signatur von main könnten Sie Folgendes verwenden public static void main(String args[]) oder public static void main(String… args) um die Hauptfunktion in Java aufzurufen. Die Hauptmethode wird aufgerufen, wenn ihr formaler Parameter mit dem eines String-Arrays übereinstimmt.

Notiz: Die Hauptmethode ist Cumpulosory in Java

Überladen der main()-Methode in Java

Das Überladen der main()-Methode ist in Java möglich, d. h. wir können beliebig viele main()-Methoden in einem Programm erstellen.

Um die main()-Methode in Java zu überladen, müssen wir die main()-Methode mit verschiedenen Parametern erstellen.

Beispiel:

Java
public class Main {  public static void main(String[] args) {  if (args.length == 0) {  System.out.println('Running main() with no arguments');  } else if (args.length == 1) {  try {  int value = Integer.parseInt(args[0]);  main(value);  } catch (NumberFormatException e) {  main(args[0]);  }  } else {  // Handle more arguments as needed  }  }  public static void main(int value) {  System.out.println('Running main() with integer argument: ' + value);  }  public static void main(String message) {  System.out.println('Running main() with string argument: ' + message);  } }>

Ausgabe:

Running main() with no arguments>

Abschluss

Die Java-Methode main() ist der Ausgangspunkt eines Java-Programms. Es ist der Hauptteil, der von der JVM ausgeführt wird, und ohne die main()-Methode kann kein Java-Programm ohne sie ausgeführt werden.

Erfahren Sie mehr: Java-Tutorial

Java main()-Methode – FAQs

Kann die Hauptmethode int sein? Wenn nicht, warum?

Nein, die Java-Hauptmethode kann nicht int sein. Es gibt zwei Hauptgründe dafür:

  1. JVM sucht public static void main(String[] args) beim Starten der Programmausführung, da es sich um die Standardsignatur für die Eingabe handelt. Die Verwendung einer int-Signatur würde bei der Programmausführung zu Verwirrung und Kompatibilitätsproblemen führen.
  2. Eine ungültige Signatur bedeutet, dass die Hauptmethode nichts zurückgibt. Die Verwendung einer int-Signatur bedeutet jedoch, dass die Hauptfunktion eine Ganzzahl zurückgeben muss, was für JVM nicht nützlich ist.

Können wir ein Java-Programm ohne die Hauptmethode ausführen?

Nein, von JDK7 Die Hauptmethode ist obligatorisch. Der Compiler prüft zunächst, ob main() vorhanden ist oder nicht. Wenn Ihr Programm die Hauptmethode nicht enthält, erhalten Sie die Fehlermeldung „Hauptmethode nicht in der Klasse gefunden“.

Weitere Informationen zum Thema finden Sie unter Ist die Hauptmethode in Java obligatorisch? Artikel.

Können wir die main()-Methode ohne String[]-Argumente deklarieren?

Ja, wir können die main()-Methode ohne String[]-Argumente deklarieren. Allerdings wird eine Fehlermeldung generiert, wenn wir direkt versuchen, die Hauptmethode innerhalb der Treiberklasse auszuführen, wie im folgenden Beispiel.

wie viele Wochen ein Monat hat

Nachfolgend finden Sie die richtige Methode zum Schreiben eines Programms ohne String-Argumente[].

Java
import java.io.*; import javafx.application.Application; abstract class GFG  extends javafx.application.Application {  // static block  static  {  System.out.println('Hello, world!');  System.exit(0);  } }>

Ausgabe

Hello, world!>

Warum ist in Java „main void“?

Die Hauptmethode dient als Ausgangspunkt für die Programmausführung in Java. Die JVM erwartet keinen Rückgabewert vom Hauptserver, da es keinen Mechanismus gibt, um einen solchen Wert zu empfangen oder zu verarbeiten.