In ambito statico… un sottoprogramma
public static tipo metodo(elenco_parametri_formali) { ... ... }
assomiglia alla sezione main
public static void main(String args[]) { ... ... }
con
- metodo, è il nome assegnato al sottoprogramma
- tipo, rappresenta il tipo di dato dell’eventuale valore di ritorno, void altrimenti
- elenco_parametri_formali, facoltativo
- ..., istruzioni facoltative
Chiamata
Per passare il controllo al metodo è necessario chiamarlo
metodo(elenco_parametri_attuali);
con
- elenco_parametri_attuali, deve corrispondere in numero, posizione e tipo all’elenco_parametri_formali
Ritorno
Il controllo ritorna al chiamante quando si giunge all’etichetta di fine del metodo (la parentesi graffa chiusa)
... aspetta0(); ... public static void aspetta0() { int x; do { ... } while(x != 0); }
o se è richiesto esplicitamente dal codice con un’istruzione di ritorno, return
... aspetta0(); ... public static void aspetta0() { int x; do { ... if(x == 0) return; } while(true); }
Tipo
Se il tipo del metodo è diverso da void significa che l’istruzione return è seguita da un’espressione il cui valore verrà restituito nel punto in cui è avvenuta la chiamata.
... System.out.println("Il valore è " + aspettaDiverso0()); ... int numero=aspettaDiverso0(); ... public static int aspettaDiverso0() { int x; do { ... if(x != 0) return x; } while(true); }