Ricerca nel sito web

public static void main(String[] args) - Metodo principale Java


introduzione

Il metodo Java main è di solito il primo metodo che impari quando inizi a programmare in Java perché è il punto di ingresso per l'esecuzione di un programma Java. Il metodo main può contenere codice per eseguire o chiamare altri metodi e può essere inserito in qualsiasi classe che faccia parte di un programma. I programmi più complessi di solito hanno una classe che contiene solo il metodo main. La classe che contiene il metodo main può avere qualsiasi nome, anche se in genere puoi semplicemente chiamare la classe Main.

Negli esempi che seguono, la classe che contiene il metodo main è chiamata Test:

public class Test {

	public static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

In questo articolo imparerai cosa significa ogni componente del metodo main.

Sintassi del metodo principale Java

La sintassi del metodo main è sempre:

public static void main(String[] args){
	// some code
}

Puoi cambiare solo il nome dell'argomento dell'array String. Ad esempio, puoi modificare args in myStringArgs. L'argomento dell'array String può essere scritto come String... args o String args[].

pubblico

Il modificatore di accesso del metodo main deve essere public in modo che JRE possa accedere ed eseguire questo metodo. Se un metodo non è pubblico, l'accesso è limitato. Nel seguente codice di esempio, al metodo main manca il modificatore di accesso public:

public class Test {

	static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

Quando compili ed esegui il programma, si verifica il seguente errore perché il metodo main non è pubblico e JRE non riesce a trovarlo:

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

statico

All'avvio del programma Java, non è presente alcun oggetto della classe. Il metodo main deve essere static in modo che la JVM possa caricare la classe in memoria e chiamare il metodo main senza creare un'istanza della classe Primo. Nel seguente codice di esempio, al metodo main manca il modificatore static:

public class Test {

	public void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

Quando compili ed esegui il programma, si verifica il seguente errore perché il metodo main non è static:

  1. javac Test.java
  2. java Test
Output
Error: Main method is not static in class Test, please define the `main` method as: public static void main(String[] args)

vuoto

Ogni metodo Java deve fornire il tipo restituito. Il tipo restituito dal metodo Java main è void perché non restituisce nulla. Quando il metodo main ha terminato l'esecuzione, il programma Java termina, quindi non c'è bisogno di un oggetto restituito. Nel seguente codice di esempio, il metodo main tenta di restituire qualcosa quando il tipo restituito è void:

public class Test {

	public static void main(String[] args){
	
		return 0;
	}
}

Quando compili il programma, si verifica il seguente errore perché Java non si aspetta un valore restituito quando il tipo restituito è void:

  1. javac Test.java
Output
Test.java:5: error: incompatible types: unexpected return value return 0; ^ 1 error

principale

Il metodo Java main è sempre denominato main. Quando un programma Java si avvia, cerca sempre il metodo main. Il codice di esempio seguente mostra un metodo main rinominato in myMain:

public class Test {

	public static void myMain(String[] args){

		System.out.println("Hello, World!");
	}
}

Quando compili ed esegui il programma, si verifica il seguente errore perché JRE non riesce a trovare il metodo main nella classe:

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

Stringa[] argomenti

Il metodo Java main accetta un singolo argomento di tipo String array. Ogni stringa nell'array è un argomento della riga di comando. È possibile utilizzare gli argomenti della riga di comando per influenzare il funzionamento del programma o per passare informazioni al programma in fase di esecuzione. Il codice di esempio seguente mostra come stampare gli argomenti della riga di comando immessi quando si esegue il programma:

public class Test {

	public static void main(String[] args){

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

Quando compili il programma e poi lo esegui con alcuni argomenti della riga di comando separati da spazi, gli argomenti vengono stampati nel terminale:

  1. javac Test.java
  2. java Test 1 2 3 "Testing the main method"
Output
1 2 3 Testing the main method

Conclusione

In questo articolo hai imparato a conoscere ogni componente del metodo Java main. Continua il tuo apprendimento con altri tutorial Java.

Articoli correlati: