Parametri del metodo Java


Parametri e argomenti

Le informazioni possono essere passate ai metodi come parametro. I parametri agiscono come variabili all'interno del metodo.

I parametri sono specificati dopo il nome del metodo, tra parentesi. Puoi aggiungere tutti i parametri che vuoi, separandoli semplicemente con una virgola.

L'esempio seguente ha un metodo che accetta un fnameString chiamato come parametro. Quando il metodo viene chiamato, passiamo un nome, che viene utilizzato all'interno del metodo per stampare il nome completo:

Esempio

public class Main {
  static void myMethod(String fname) {
    System.out.println(fname + " Refsnes");
  }

  public static void main(String[] args) {
    myMethod("Liam");
    myMethod("Jenny");
    myMethod("Anja");
  }
}
// Liam Refsnes
// Jenny Refsnes
// Anja Refsnes

Quando un parametro viene passato al metodo, viene chiamato argomento . Quindi, dall'esempio sopra: fnameè un parametro , mentre Liam, Jennye Anjasono argomenti .


Parametri multipli

Puoi avere tutti i parametri che vuoi:

Esempio

public class Main {
  static void myMethod(String fname, int age) {
    System.out.println(fname + " is " + age);
  }

  public static void main(String[] args) {
    myMethod("Liam", 5);
    myMethod("Jenny", 8);
    myMethod("Anja", 31);
  }
}

// Liam is 5
// Jenny is 8
// Anja is 31

Si noti che quando si lavora con più parametri, la chiamata al metodo deve avere lo stesso numero di argomenti dei parametri e gli argomenti devono essere passati nello stesso ordine.


Valori di ritorno

La voidparola chiave, utilizzata negli esempi precedenti, indica che il metodo non deve restituire un valore. Se vuoi che il metodo restituisca un valore, puoi usare un tipo di dati primitivo (come int, char, ecc.) invece di voide usare la return parola chiave all'interno del metodo:

Esempio

public class Main {
  static int myMethod(int x) {
    return 5 + x;
  }

  public static void main(String[] args) {
    System.out.println(myMethod(3));
  }
}
// Outputs 8 (5 + 3)

Questo esempio restituisce la somma dei due parametri di un metodo :

Esempio

public class Main {
  static int myMethod(int x, int y) {
    return x + y;
  }

  public static void main(String[] args) {
    System.out.println(myMethod(5, 3));
  }
}
// Outputs 8 (5 + 3)

Puoi anche memorizzare il risultato in una variabile (consigliato, in quanto è più facile da leggere e mantenere):

Esempio

public class Main {
  static int myMethod(int x, int y) {
    return x + y;
  }

  public static void main(String[] args) {
    int z = myMethod(5, 3);
    System.out.println(z);
  }
}
// Outputs 8 (5 + 3)



Un metodo con If...Else

È comune utilizzare if...elseistruzioni all'interno di metodi:

Esempio

public class Main {

  // Create a checkAge() method with an integer variable called age
  static void checkAge(int age) {

    // If age is less than 18, print "access denied"
    if (age < 18) {
      System.out.println("Access denied - You are not old enough!");

    // If age is greater than, or equal to, 18, print "access granted"
    } else {
      System.out.println("Access granted - You are old enough!");
    }

  }

  public static void main(String[] args) {
    checkAge(20); // Call the checkAge method and pass along an age of 20
  }
}

// Outputs "Access granted - You are old enough!"


Mettiti alla prova con gli esercizi

Esercizio:

Aggiungi un fnameparametro di tipo Stringa myMethode genera "John Doe":

static void myMethod( ) {
  System.out.println( + " Doe");
}

public static void main(String[] args) {
  myMethod("John");
}