1. La return
dichiarazione
Pensi di aver già imparato tutto sui metodi Java? Qualunque cosa tu pensi di sapere, ancora non ne conosci la metà.
Iniziamo con qualcosa di semplice. Ad esempio, Java ha un'istruzione return che ti consente di terminare istantaneamente il metodo che lo chiama. Ecco la dichiarazione:
return;
È semplice: la parola solitaria return
seguita da un punto e virgola. Non appena il programma esegue questa istruzione, il metodo corrente termina immediatamente e la chiamata continua.
Se return
viene chiamato nel main
metodo, il main
metodo terminerà immediatamente e con esso l'intero programma.
Esempio:
|
Il fill metodo riempie parte dell'array passato con value . La parte dell'array da riempire è definita dagli indici from e to . Se from è minore di 0 o se to è maggiore della lunghezza dell'array, il metodo termina immediatamente. |
Il programma sopra ha un fill
metodo che riempie l'array passato con value
. Non riempie l'intero array, solo la parte specificata dagli indici from
e to
.
All'inizio del fill
metodo, i valori passati vengono controllati per assicurarsi che siano validi. Se from
è minore di 0 o se to
è maggiore della lunghezza dell'array, il fill
metodo termina immediatamente (esegue un'istruzione return
).
Questa return
affermazione è utile: praticamente ogni metodo in Java ne ha uno, ed ecco perché.
2. Metodi con risultato,void
Ricorda che una volta abbiamo capito che ci sono affermazioni e ci sono espressioni . Un'espressione, a differenza di un'istruzione, ha un valore che può essere utilizzato da qualche parte.
E, in Java, i metodi possono avere un valore . E questa è un'ottima notizia: i metodi non solo sono in grado di fare qualcosa in base ai parametri di input, ma anche, ad esempio, di valutare qualcosa e restituire il risultato del calcolo .
A proposito, hai già incontrato tali metodi:
|
Il abs() metodo restituisce un double |
|
Il nextInt() metodo restituisce unint |
|
Il toUpperCase() metodo restituisce aString |
|
Il copyOf() metodo restituisce unint[] |
Ogni metodo può restituire solo un valore di un tipo predeterminato. Il tipo restituito viene determinato quando viene dichiarato il metodo:
public static Type name(parameters)
{
method body
}
Dove name
è il nome del metodo, parameters
è l'elenco dei parametri del metodo ed type
è il tipo di risultato restituito dal metodo.
Per i metodi che non restituiscono nulla, esiste un tipo di segnaposto speciale: void
.
Stai scrivendo il tuo metodo e non vuoi restituire nulla al metodo chiamante? Basta dichiarare il tipo del metodo come void
e il problema è risolto. Ci sono anche molti metodi come questo in Java.
3. Restituzione di un risultato
Abbiamo appena capito come dichiarare un metodo che restituisce il risultato di un calcolo, ma come si ottiene questo risultato nel metodo stesso?
La return
dichiarazione ci aiuta ancora una volta. Il passaggio di un risultato da un metodo è simile al seguente:
return value;
Dove return
è un'istruzione che termina immediatamente il metodo. Ed value
è il valore che il metodo restituisce al metodo chiamante quando esce. Il tipo di value
deve corrispondere a quello type
specificato nella dichiarazione del metodo.
Esempio 1. Il metodo calcola il minimo di due numeri:
|
Il metodo restituisce il minimo di due numeri. Se a < b ritorno a Altrimenti ritorno b |
Esempio 2. Il metodo duplica la stringa passatagli n
volte:
|
Il metodo accetta due parametri: una stringa e il numero di volte che la stringa deve essere ripetuta. Viene creata una stringa vuota per il risultato futuro. In un ciclo con times iterazioni, uno spazio e la str stringa vengono aggiunti alla result stringa. La stringa result viene restituita come risultato del metodo. |
Esempio 3: il metodo calcola il massimo di due numeri utilizzando l'operatore ternario:
|
Il metodo restituisce il massimo di due numeri. ritorno (se a > b , allora a , altrimenti b ) |
GO TO FULL VERSION