Parametry metody Java
Parametry i argumenty
Informacje mogą być przekazywane do metod jako parametr. Parametry działają jako zmienne wewnątrz metody.
Parametry są określone po nazwie metody, w nawiasach. Możesz dodać tyle parametrów, ile chcesz, po prostu oddziel je przecinkiem.
Poniższy przykład ma metodę, która jako parametr przyjmuje wywołaną fnameString
. Gdy metoda jest wywoływana, przekazujemy imię, które jest używane wewnątrz metody do wypisania pełnego imienia i nazwiska:
Przykład
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
Gdy parametr jest przekazywany do metody, jest nazywany argumentem . Tak więc z powyższego przykładu: fname
jest parametremLiam
, while Jenny
i Anja
są argumentami .
Wiele parametrów
Możesz mieć tyle parametrów, ile chcesz:
Przykład
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
Należy zauważyć, że podczas pracy z wieloma parametrami wywołanie metody musi mieć taką samą liczbę argumentów, jak istnieje parametry, a argumenty muszą być przekazywane w tej samej kolejności.
Zwracane wartości
Słowo void
kluczowe użyte w powyższych przykładach wskazuje, że metoda nie powinna zwracać wartości. Jeśli chcesz, aby metoda zwracała wartość, możesz użyć prymitywnego typu danych (takiego jak int
,
char
itp.) zamiast void
, i użyć return
słowa kluczowego wewnątrz metody:
Przykład
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)
Ten przykład zwraca sumę dwóch parametrów metody :
Przykład
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)
Możesz również zapisać wynik w zmiennej (zalecane, ponieważ jest łatwiejsze do odczytania i utrzymania):
Przykład
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)
Metoda z If...Else
Często używa się if...else
instrukcji wewnątrz metod:
Przykład
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!"