Un frammento di lezione con un mentore come parte del corso Codegym University. Iscriviti al corso completo.
"Ancora tu, Amigo. Beh, ciao."
"Sembra che tu non sia molto felice di vedermi, Diego?"
"Ho avuto l'impressione che tu pensi di aver già imparato tutto quello che c'è da sapere sui metodi in Java."
"Oh, io non..."
"Non credo! Non ne sai nemmeno la metà."
"Certo, non disapprovo...
"Okay, basta parlare. È ora di iniziare. E inizieremo con qualcosa di semplice. Ad esempio, il fatto che Java abbia un'istruzione return . Ti consente di terminare istantaneamente un metodo in cui viene chiamato. Ecco l'istruzione:
return;
"È semplice: la parola solitaria return
seguita da un punto e virgola. Non appena il programma esegue questa istruzione, il metodo corrente termina e il metodo chiamante 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 0 o to maggiore della lunghezza dell'array, il metodo termina immediatamente. |
"Il programma di cui 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
)."
"Capito. È tutto ciò che fa questa affermazione?"
"In realtà, l' return
affermazione è più utile di quanto pensi. È così utile che si trova in quasi tutti i metodi in Java. E ora ti condurrò a capire perché è così.
Metodi con risultato,void
"Probabilmente ti ricordi che ci sono affermazioni e ci sono espressioni . Qual è la differenza tra loro?"
"Se non sbaglio, un'espressione, a differenza di un'affermazione, ha un significato che può essere usato da qualche parte."
"Esatto. E, in Java, anche 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 di il calcolo .
"A proposito, hai già incontrato questi 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 il metodo viene dichiarato:
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
.
"In altre parole, se scrivo il mio metodo e non voglio restituire nulla, dichiaro che il tipo del metodo è void
, e basta?"
"Sì. E devo anche dire che Java ha molti di questi metodi.
Restituzione di un risultato
"Ho capito come dichiarare un metodo che restituisce il risultato di un calcolo/lavoro. Come faccio a restituire il risultato dal metodo stesso?"
"Questa è una domanda valida. L' return
istruzione ci aiuta ancora una volta. Il passaggio di un risultato da un metodo è simile a questo:
return value;
"L' return
istruzione terminerà immediatamente il metodo. Ed value
è ciò che il metodo dovrebbe restituire al metodo chiamante quando esce. Il tipo di value
deve corrispondere a quello Type
specificato nella dichiarazione del metodo. Ecco alcuni esempi per rafforzare ciò che hai imparato:
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 stringa str vengono aggiunti a string result . 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 ) |
"Eccellente. I metodi sono il mio nuovo superpotere!"
"Solo se ti eserciti abbastanza nelle attività pratiche. Più e più volte."
GO TO FULL VERSION