GeeksforGeeks (Deutsch)

In Java-Programmen ist der Punkt, von dem aus das Programm seine Ausführung beginnt oder einfach der Einstiegspunkt von Java-Programmen, die main()-Methode. Daher ist sie eine der wichtigsten Methoden von Java und es ist sehr wichtig, sie richtig zu verstehen.

Die häufigste Syntax der main()-Methode:

classGeeksforGeeks {
publicstaticvoidmain(String args)

{
System.out.println("I am a Geek");
}

}



I am a Geek

Erklärung:
Jedes Wort in der public static void main-Anweisung hat eine Bedeutung für die JVM.

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

    classGeeksforGeeks {
    privatestaticvoidmain(String args)

    {
    System.out.println("I am a Geek");
    }
    }
    
    
    
    

    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 Schlüsselwort, das, wenn es mit einer Methode verbunden ist, diese zu einer klassenbezogenen Methode macht. Die Methode main() ist statisch, damit die JVM sie aufrufen kann, ohne die Klasse zu instanziieren. Dies erspart auch die unnötige Verschwendung von Speicher, der von dem nur für den Aufruf der main()-Methode deklarierten Objekt durch die JVM verwendet worden wäre.

    classGeeksforGeeks {

    publicvoidmain(String args)

    {
    System.out.println("I am a Geek");
    }
    }



Error: Main method is not static in class test, please define the main method as:public static void main(String args)
  • Void: Es ist ein Schlüsselwort und wird verwendet, um anzugeben, dass eine Methode nichts zurückgibt. Da die Methode main() nichts zurückgibt, ist ihr Rückgabetyp void. Sobald die main()-Methode beendet wird, wird auch das Java-Programm beendet. Daher macht es keinen Sinn, von der main()-Methode zurückzukehren, da die JVM nichts mit dem Rückgabewert dieser Methode anfangen kann.

    classGeeksforGeeks {
    publicstaticintmain(String args)
    {
    System.out.println("I am a Geek");

    return1;

    }

    }

    
    

    
    

    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
  • main: Das ist der Name der Java-Hauptmethode. Es ist der Bezeichner, nach dem die JVM als Startpunkt des Java-Programms sucht. Es handelt sich nicht um ein Schlüsselwort.

    classGeeksforGeeks {
    publicstaticvoidmyMain(String args)
    {
    System.out.println("I am a Geek");
    }
    }

    
    

    
    

    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
  • String args: Er speichert Java-Befehlszeilenargumente und ist ein Array vom Typ java.lang.String Klasse. Hier ist der Name des String-Arrays args, aber er ist nicht festgelegt und der Benutzer kann einen beliebigen Namen anstelle des Arrays verwenden.

    classGeeksforGeeks {

    publicstatic

    voidmain(String args)

    {
    for(String elem : args)
    System.out.println(elem);
    }
    }

    
    

    
    

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

    Kann die Methode main int sein? Wenn nein, warum?

    classGeeksforGeeks {

    publicstaticintmain(String args) {

    System.out.println("GeeksforGeeks");
    }
    }

    
    

    
    

    Java gibt nicht implizit int zurück, auch wenn wir den Rückgabetyp von main als int deklarieren.
    Wir erhalten einen Kompilierzeitfehler

    prg1.java:6: error: Fehlende Return-Anweisung
    }
    ^
    1 Fehler

    classGeeksforGeeks {
    publicstaticintmain(String args) {

    System.out.println("GeeksforGeeks");
    return0;
    }
    }

    
    

    
    

    Nun, auch wenn wir selbst explizit 0 oder Integer zurückgeben, von int main.
    Wir erhalten einen Laufzeitfehler.

    Fehler: Main-Methode muss einen Wert vom Typ void zurückgeben in der Klasse GeeksforGeeks, bitte
    definieren Sie die main-Methode als:
    public static void main(String args)

    Erklärung –
    Die C- und C++-Programme, die int von main zurückgeben, sind Prozesse des Betriebssystems. Der int-Wert, der von main in C und C++ zurückgegeben wird, ist der Exit-Code oder Exit-Status. Der Exit-Code eines C- oder C++-Programms verdeutlicht, warum das Programm beendet wurde. Der Exit-Code 0 bedeutet einen erfolgreichen Abbruch. Ein Exit-Status ungleich Null zeigt jedoch einen Fehler an. Z.B. Exit-Code 1 zeigt diverse Fehler an, wie z.B. „Dividieren durch Null“

    Der Elternprozess eines beliebigen Kindprozesses wartet auf den Exit-Status des Kindprozesses. Und nachdem er den Exit-Status des Child-Prozesses erhalten hat, löscht er den Child-Prozess aus der Prozesstabelle und gibt die ihm zugewiesenen Ressourcen frei. Deshalb ist es für C- und C++-Programme (die Prozessoren des Betriebssystems sind) obligatorisch, den Exit-Status von main explizit oder implizit zu übergeben.

    Das Java-Programm läuft jedoch als ‚main thread‘ in der JVM. Das Java-Programm ist nicht einmal direkt ein Prozess des Betriebssystems. Es gibt keine direkte Interaktion zwischen Java-Programm und Betriebssystem. Es gibt keine direkte Zuweisung von Ressourcen an das Java-Programm, bzw. das Java-Programm belegt keinen Platz in der Prozesstabelle. An wen sollte es dann den Exit-Status zurückgeben. Deshalb ist die main-Methode von Java so konzipiert, dass sie keinen int- oder exit-Status zurückgibt.

    Aber die JVM ist ein Prozess eines Betriebssystems, und die JVM kann mit einem bestimmten exit-Status beendet werden. Mit Hilfe von java.lang.Runtime.exit(int status) oder System.exit(int status)

    Artikel Tags :

    Java

    Praxis-Tags :

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.