Cos'è un metodo?
In Java, un metodo è un blocco di codice che esegue una funzione specifica e viene eseguito solo quando viene chiamato. I metodi sono anche comunemente noti come funzioni. Ogni metodo ha il suo nome. È possibile passare i dati in un metodo tramite parametri. Un metodo ha anche un tipo restituito che definisce il tipo di dati che restituisce. Secondo la convenzione, il nome del metodo dovrebbe essere scritto in lowerCamelCase dove la prima lettera dovrebbe essere minuscola. Inoltre, un metodo dovrebbe avere un nome proprio, preferibilmente un verbo che si riferisca a ciò che fa, ad esempio add() , printContactList() , updateInfo()ecc. Ogni volta che un programma incontra una chiamata di metodo, l'esecuzione del programma si dirama verso il corpo del metodo. Il corpo del codice viene eseguito e il metodo ritorna al codice precedente da cui è stato chiamato e continua dalla riga successiva. Un metodo ritorna al codice che lo ha invocato quando:- Completa tutto il codice nel metodo e ne raggiunge la fine.
- Raggiunge una dichiarazione di ritorno.
- Genera un'eccezione.
Perché vengono utilizzati i metodi?
I metodi vengono utilizzati perché consentono di riutilizzare il codice senza riscriverlo più e più volte. I metodi fanno risparmiare tempo e mantengono il codice organizzato e leggibile. Rende il codice comprensibile a più programmatori. Aiuta a modularizzare il programma. Se i metodi non vengono utilizzati, il programma può diventare estremamente lungo e difficile da testare, eseguire il debug o mantenere il codice.Crea un metodo
public class Driver {
public static void printName(String name) {
System.out.println("Hi, I am " + name + "!");
}
}
Dichiarazione di metodo
In generale, la dichiarazione del metodo ha i seguenti componenti:-
Modifier : definisce il tipo di accesso, ovvero da dove è possibile accedere al metodo nel programma, ad esempio public , private , ecc. In questo caso è pubblico , il che significa che è possibile accedere a questo metodo anche al di fuori della classe.
-
Tipo restituito : il tipo di dati del valore restituito dal metodo. In questo caso è nullo , cioè non restituisce nulla.
-
Nome metodo : è il nome del metodo con cui verrà chiamato nel nostro programma. Il nome del nostro metodo è printName .
-
Elenco dei parametri : è l'elenco dei dati che devono essere passati al metodo. È separato da virgole e ogni dato di input è preceduto dal relativo tipo di dati. Se non ci sono dati da passare, le parentesi () vengono lasciate vuote. Abbiamo passato un nome di parametro di tipo String .
-
Corpo del metodo : Consiste nel codice che deve essere eseguito racchiuso tra parentesi graffe {} .
Chiama un metodo
Per chiamare un metodo in Java, basta scrivere il nome del metodo seguito da due parentesi () e un punto e virgola (;). Se il metodo ha dei parametri nella dichiarazione, quei parametri vengono passati tra parentesi () ma questa volta senza che siano specificati i loro tipi di dati. Tuttavia, è importante mantenere la stessa sequenza di argomenti definita nella definizione del metodo. Facciamo un esempio per capirlo meglio.Esempio 1
public class Driver {
public static void printName(String name) {
System.out.println("Hi, I am " + name + "!");
}
public static void main(String[] args) {
String name = "Mary";
printName(name);
String name1 = "Lucy";
printName(name1);
String name2 = "Alex";
printName(name2);
String name3 = "Zoey";
printName(name3);
}
}
Produzione
Spiegazione
Nello snippet sopra, il metodo che abbiamo definito è chiamato in the main. Ha un argomento che deve essere passato. Abbiamo richiamato il metodo quattro volte, cambiando ogni volta l'argomento. Con tutti e quattro i diversi argomenti, il metodo ha restituito output diversi per nomi diversi.Esempio 2
public class Driver {
static int add(int x, int y) {
int sum = x + y;
return sum;
}
public static void main(String[] args) {
int x = 10;
int y = 20;
int z = add(x, y);
System.out.println(x + " + " + y + " = " + z);
x = 5;
y = 4;
z = add(x, y);
System.out.println(x + " + " + y + " = " + z);
x = 100;
y = 15;
z = add(x, y);
System.out.println(x + " + " + y + " = " + z);
x = 50;
y = 5;
z = add(x, y);
System.out.println(x + " + " + y + " = " + z);
}
}