Metodi Java (con esempi)

In questo tutorial apprenderemo i metodi Java, come definire metodi e come utilizzare i metodi nei programmi Java con l'aiuto di esempi.

Metodi Java

Un metodo è un blocco di codice che esegue un'attività specifica.

Supponiamo di dover creare un programma per creare un cerchio e colorarlo. Puoi creare due metodi per risolvere questo problema:

  • un metodo per disegnare il cerchio
  • un metodo per colorare il cerchio

Dividere un problema complesso in parti più piccole rende il programma facile da capire e riutilizzabile.

In Java esistono due tipi di metodi:

  • Metodi definiti dall'utente : possiamo creare il nostro metodo in base ai nostri requisiti.
  • Metodi di libreria standard : questi sono metodi incorporati in Java disponibili per l'uso.

Impariamo prima i metodi definiti dall'utente.

Dichiarazione di un metodo Java

La sintassi per dichiarare un metodo è:

 returnType methodName() ( // method body )

Qui,

  • returnType - Specifica il tipo di valore restituito da un metodo. Ad esempio, se un metodo ha un inttipo restituito, restituisce un valore intero.
    Se il metodo non restituisce un valore, il suo tipo restituito è void.
  • methodName - È un identificatore utilizzato per fare riferimento a un metodo particolare in un programma.
  • corpo del metodo : include le istruzioni di programmazione utilizzate per eseguire alcune attività. Il corpo del metodo è racchiuso tra le parentesi graffe ( ).

Per esempio,

 int addNumbers() ( // code )

Nell'esempio sopra, il nome del metodo è adddNumbers(). E il tipo restituito è int. Apprenderemo di più sui tipi di reso più avanti in questo tutorial.

Questa è la semplice sintassi per dichiarare un metodo. Tuttavia, la sintassi completa della dichiarazione di un metodo è

 modifier static returnType nameOfMethod (parameter1, parameter2,… ) ( // method body )

Qui,

  • modificatore : definisce i tipi di accesso se il metodo è pubblico, privato e così via. Per saperne di più, visita Java Access Specifier.
  • statico - Se usiamo la staticparola chiave, è possibile accedervi senza creare oggetti.
    Ad esempio, il sqrt()metodo della classe Math standard è statico. Quindi, possiamo chiamare direttamente Math.sqrt()senza creare un'istanza di Mathclasse.
  • parametro1 / parametro2 : questi sono i valori passati a un metodo. Possiamo passare qualsiasi numero di argomenti a un metodo.

Chiamare un metodo in Java

Nell'esempio sopra, abbiamo dichiarato un metodo denominato addNumbers(). Ora, per usare il metodo, dobbiamo chiamarlo.

Ecco come possiamo chiamare il addNumbers()metodo.

 // calls the method addNumbers();
Funzionamento della chiamata al metodo Java

Esempio 1: metodi Java

 class Main ( // create a method public int addNumbers(int a, int b) ( int sum = a + b; // return value return sum; ) public static void main(String() args) ( int num1 = 25; int num2 = 15; // create an object of Main Main obj = new Main(); // calling method int result = obj.addNumbers(num1, num2); System.out.println("Sum is: " + result); ) )

Produzione

 La somma è: 40

Nell'esempio precedente, abbiamo creato un metodo denominato addNumbers(). Il metodo accetta due parametri a e b. Notare la linea,

 int result = obj.addNumbers(num1, num2);

Qui abbiamo chiamato il metodo passando due argomenti num1 e num2. Poiché il metodo restituisce un valore, abbiamo memorizzato il valore nella variabile del risultato.

Nota : il metodo non è statico. Quindi, stiamo chiamando il metodo utilizzando l'oggetto della classe.

Tipo restituito del metodo Java

Un metodo Java può o meno restituire un valore alla chiamata di funzione. Usiamo l' istruzione return per restituire qualsiasi valore. Per esempio,

 int addNumbers() (… return sum; )

Qui, stiamo restituendo la variabile sum. Poiché il tipo di ritorno della funzione è int. La variabile sum dovrebbe essere di inttipo. In caso contrario, genererà un errore.

Esempio 2: tipo restituito dal metodo

 class Main ( // create a method public static int square(int num) ( // return statement return num * num; ) public static void main(String() args) ( int result; // call the method // store returned value to result result = square(10); System.out.println("Squared value of 10 is: " + result); ) )

Uscita :

 Il valore quadrato di 10 è: 100

Nel programma sopra, abbiamo creato un metodo denominato square(). Il metodo accetta un numero come parametro e restituisce il quadrato del numero.

Qui, abbiamo menzionato il tipo di ritorno del metodo come int. Pertanto, il metodo dovrebbe sempre restituire un valore intero.

Rappresentazione del metodo Java che restituisce un valore

Note: If the method does not return any value, we use the void keyword as the return type of the method. For example,

 public void square(int a) ( int square = a * a; System.out.println("Square is: " + a); )

Method Parameters in Java

A method parameter is a value accepted by the method. As mentioned earlier, a method can also have any number of parameters. For example,

 // method with two parameters int addNumbers(int a, int b) ( // code ) // method with no parameter int addNumbers()( // code )

If a method is created with parameters, we need to pass the corresponding values while calling the method. For example,

 // calling the method with two parameters addNumbers(25, 15); // calling the method with no parameters addNumbers()

Example 3: Method Parameters

 class Main ( // method with no parameter public void display1() ( System.out.println("Method without parameter"); ) // method with single parameter public void display2(int a) ( System.out.println("Method with a single parameter: " + a); ) public static void main(String() args) ( // create an object of Main Main obj = new Main(); // calling method with no parameter obj.display1(); // calling method with the single parameter obj.display2(24); ) )

Output

 Method without parameter Method with a single parameter: 24

Here, the parameter of the method is int. Hence, if we pass any other data type instead of int, the compiler will throw an error. It is because Java is a strongly typed language.

Note: The argument 24 passed to the display2() method during the method call is called the actual argument.

The parameter num accepted by the method definition is known as a formal argument. We need to specify the type of formal arguments. And, the type of actual arguments and formal arguments should always match.

Standard Library Methods

The standard library methods are built-in methods in Java that are readily available for use. These standard libraries come along with the Java Class Library (JCL) in a Java archive (*.jar) file with JVM and JRE.

For example,

  • print() is a method of java.io.PrintSteam. The print("… ") method prints the string inside quotation marks.
  • sqrt() is a method of Math class. It returns the square root of a number.

Here's a working example:

Example 4: Java Standard Library Method

 public class Main ( public static void main(String() args) ( // using the sqrt() method System.out.print("Square root of 4 is: " + Math.sqrt(4)); ) )

Output:

 Square root of 4 is: 2.0

To learn more about standard library methods, visit Java Library Methods.

What are the advantages of using methods?

1. The main advantage is code reusability. We can write a method once, and use it multiple times. We do not have to rewrite the entire code each time. Think of it as, "write once, reuse multiple times".

Example 5: Java Method for Code Reusability

 public class Main ( // method defined private static int getSquare(int x)( return x * x; ) public static void main(String() args) ( for (int i = 1; i <= 5; i++) ( // method call int result = getSquare(i); System.out.println("Square of " + i + " is: " + result); ) ) )

Output:

 Square of 1 is: 1 Square of 2 is: 4 Square of 3 is: 9 Square of 4 is: 16 Square of 5 is: 25

In the above program, we have created the method named getSquare() to calculate the square of a number. Here, the method is used to calculate the square of numbers less than 6.

Hence, the same method is used again and again.

2. I metodi rendono il codice più leggibile e più facile da eseguire il debug. Qui, il getSquare()metodo mantiene il codice per calcolare il quadrato in un blocco. Quindi, lo rende più leggibile.

Articoli interessanti...