GeeksforGeeks (Italiano)

Nei programmi Java, il punto da cui il programma inizia la sua esecuzione o semplicemente il punto di ingresso dei programmi Java è il metodo main(). Quindi, è uno dei metodi più importanti di Java e averne una corretta comprensione è molto importante.

Sintassi più comune del metodo main():

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

}



I am a Geek

Spiegazione:
Ogni parola nell’istruzione public static void main ha un significato per la JVM.

  1. Pubblico: È un modificatore di accesso, che specifica da dove e chi può accedere al metodo. Rendere pubblico il metodo main() lo rende globalmente disponibile. Viene reso pubblico in modo che la JVM possa invocarlo dall’esterno della classe poiché non è presente nella classe corrente.

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
  • Statico: È una parola chiave che quando è associata a un metodo, lo rende un metodo legato alla classe. Il metodo main() è statico in modo che la JVM possa invocarlo senza istanziare la classe. Questo risparmia anche l’inutile spreco di memoria che sarebbe stata usata dall’oggetto dichiarato solo per chiamare il metodo main() da parte della JVM.

    classGeeksforGeeks {
    public

    voidmain(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: È una parola chiave usata per specificare che un metodo non restituisce nulla. Poiché il metodo main() non restituisce nulla, il suo tipo di ritorno è void. Non appena il metodo main() termina, termina anche il programma java. Quindi, non ha senso ritornare dal metodo main() poiché la JVM non può fare nulla con il valore di ritorno.

  • class

    GeeksforGeeks {
    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: È il nome del metodo principale di Java. È l’identificatore che la JVM cerca come punto di partenza del programma java. Non è una parola chiave.

    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: Memorizza gli argomenti della riga di comando Java ed è un array di tipo java.lang.String. Qui, il nome dell’array di stringhe è args ma non è fisso e l’utente può usare qualsiasi nome al suo posto.

  • class

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

    
    

    
    

    123

    Oltre alla suddetta firma di main, si potrebbe usare public static void main(String args) o public static void main(String… args) per chiamare la funzione main in java. Il metodo main viene chiamato se il suo parametro formale corrisponde a quello di un array di Stringhe.

    Il metodo main può essere int? Se no, perché?

    classGeeksforGeeks {

    publicstatic

    intmain(String args) {
    System.out.println("GeeksforGeeks");
    }
    }

    
    

    
    

    Java non restituisce int implicitamente, anche se dichiariamo il tipo di ritorno di main come int.
    Abbiamo un errore di compilazione

    prg1.java:6: error: dichiarazione di ritorno mancante
    }
    ^
    1 errore

    classGeeksforGeeks {
    publicstatic

    intmain(String args) {
    System.out.println("GeeksforGeeks");
    return0;
    }
    }

    
    

    
    

    Ora, anche se restituiamo 0 o intero esplicitamente noi stessi, da int main.
    Abbiamo un errore di run time.

    Errore: Il metodo main deve restituire un valore di tipo void nella classe GeeksforGeeks, si prega di
    definire il metodo main come:
    public static void main(String args)

    Spiegazione –
    I programmi C e C++ che restituiscono int da main sono processi del sistema operativo. Il valore int restituito da main in C e C++ è il codice di uscita o lo stato di uscita. Il codice di uscita del programma C o C++ illustra perché il programma è terminato. Il codice di uscita 0 significa che il programma è terminato con successo. Tuttavia, uno stato di uscita diverso da zero indica un errore. Per esempio, il codice di uscita 1 indica errori vari, come “dividere per zero”

    Il processo padre di qualsiasi processo figlio aspetta lo stato di uscita del figlio. E dopo aver ricevuto lo stato di uscita del figlio, pulisce il processo figlio dalla tabella dei processi e libera le risorse ad esso assegnate. Ecco perché diventa obbligatorio per i programmi C e C++ (che sono prcoessi del sistema operativo) passare il suo stato di uscita da main esplicitamente o implicitamente.

    Tuttavia, il programma java viene eseguito come ‘main thread’ nella JVM. Il programma Java non è nemmeno un processo del sistema operativo direttamente. Non c’è interazione diretta tra il programma Java e il sistema operativo. Non c’è assegnazione diretta di risorse al programma Java direttamente, o il programma Java non occupa alcun posto nella tabella dei processi. A chi dovrebbe restituire lo stato di uscita, quindi. Ecco perché il metodo main di Java è progettato per non restituire int o lo stato di uscita.

    Ma la JVM è un processo di un sistema operativo, e la JVM può essere terminata con un certo stato di uscita. Con l’aiuto di java.lang.Runtime.exit(int status) o System.exit(int status)

    Article Tags :

    Java

    Practice Tags :

    Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *