Στις μεθόδους της Java, είναι δυνατόν να περάσουμε πληροφορίες ως παράμετροι. Οι παράμετροι αυτοί λειτουργούν ως μεταβλητές που μπορούν να χρησιμοποιηθούν μέσα στη μέθοδο.
Η δήλωση των παραμέτρων γίνεται μετά το όνομα της μεθόδου, μέσα σε παρενθέσεις. Μπορούμε να προσθέσουμε όσους παραμέτρους επιθυμούμε, αρκεί να τους διαχωρίσουμε με κόμμα.
Στο παρακάτω παράδειγμα ορίζεται μια μέθοδος με το όνομα “printFullName”, η οποία δέχεται ένα String ως παράμετρο με το όνομα “fname”. Όταν καλείται η μέθοδος, περνάμε ένα όνομα σαν όρισμα, το οποίο χρησιμοποιείται εντός της μεθόδου για να εκτυπώσει το πλήρες όνομα:
public class Main { // Ορισμός μιας μεθόδου με την ονομασία myMethod που δέχεται ένα παράμετρο fname τύπου String static void myMethod(String fname) { System.out.println(fname + " Refsnes"); // Εκτύπωση του ονόματος με την προσθήκη του επωνύμου "Refsnes" } public static void main(String[] args) { myMethod("John"); // Κλήση της μεθόδου myMethod με την παράμετρο "John" myMethod("Mike"); // Κλήση της μεθόδου myMethod με την παράμετρο "Mike" myMethod("Lisa"); // Κλήση της μεθόδου myMethod με την παράμετρο "Lisa" } }
Ο παραπάνω κώδικας περιλαμβάνει μια κλάση με την ονομασία “Main”. Ο κώδικας περιέχει δύο μεθόδους, την myMethod
και την main
.
Η μέθοδος myMethod
είναι μια στατική (static) μέθοδος που δέχεται ένα παράμετρο fname
τύπου String. Εντός αυτής της μεθόδου, εκτυπώνεται η συνένωση του fname
με το κείμενο “Refsnes”.
Η μέθοδος main
είναι η εισαγωγική σημείωση (entry point) του προγράμματος. Εκτελείται όταν το πρόγραμμα ξεκινάει και είναι αυτή που καλείται πρώτη. Μέσα στην main
, καλείται η myMethod
τρεις φορές με διαφορετικές παραμέτρους: “John”, “Mike” και “Lisa”. Κατά την εκτέλεση, η myMethod
εκτυπώνει την συνένωση της παραμέτρου με το “Refsnes” για κάθε κλήση.
Συνολικά, ο κώδικας εκτυπώνει τα ονόματα “John Refsnes”, “Mike Refsnes” και “Lisa Refsnes” στην οθόνη.
Μπορείτε να έχετε όσες παραμέτρους θέλετε στη μέθοδο.
Παράδειγμα:
Ας υποθέσουμε ότι θέλουμε να ορίσουμε μια μέθοδο με όνομα “calculateSum”, η οποία θα υπολογίζει το άθροισμα δύο αριθμών. Μπορούμε να τη δηλώσουμε με τις παραμέτρους “num1” και “num2”, οι οποίες θα είναι τύπου int. Ο κώδικας θα μπορούσε να είναι ως εξής:
public class Main { // Μέθοδος για τον υπολογισμό του αθροίσματος δύο αριθμών static int calculateSum(int num1, int num2) { int sum = num1 + num2; return sum; } public static void main(String[] args) { // Κλήση της μεθόδου calculateSum() και αποθήκευση του αποτελέσματος στη μεταβλητή result int result = calculateSum(5, 3); // Εκτύπωση του αποτελέσματος System.out.println("Το άθροισμα είναι: " + result); } }
Ο παραπάνω κώδικας περιέχει μια απλή Java κλάση με δύο μεθόδους: την calculateSum
και την main
.
[adinserter block=”2″]
Η μέθοδος calculateSum
δέχεται δύο ακέραιους αριθμούς (num1
και num2
) και υπολογίζει το άθροισμά τους. Το αποτέλεσμα αποθηκεύεται στην τοπική μεταβλητή sum
και στη συνέχεια επιστρέφεται από τη μέθοδο.
Η μέθοδος main
είναι η κύρια μέθοδος εκκίνησης του προγράμματος. Εντός αυτής της μεθόδου, καλείται η calculateSum
με τις τιμές 5 και 3 και το αποτέλεσμα αποθηκεύεται στη μεταβλητή result
. Έπειτα, το αποτέλεσμα εκτυπώνεται στην οθόνη μέσω της μεθόδου System.out.println
, που εμφανίζει το κείμενο “Το άθροισμα είναι: ” ακολουθούμενο από την τιμή της μεταβλητής result
.
Συνολικά, ο κώδικας υπολογίζει το άθροισμα των αριθμών 5 και 3 και εμφανίζει το αποτέλεσμα στην οθόνη. Στην περίπτωση αυτή, το αποτέλεσμα που θα εκτυπωθεί είναι “Το άθροισμα είναι: 8”.
Το void
είναι ένα κλειδί δεδομένων που χρησιμοποιείται για να υποδηλώσει ότι μια μέθοδος δεν επιστρέφει κάποια τιμή. Αν θέλετε να επιστρέψετε μια τιμή από μια μέθοδο, μπορείτε να χρησιμοποιήσετε έναν πρωτογενή τύπο δεδομένων (όπως int
, char
, κλπ.) αντί για το void
και να χρησιμοποιήσετε την εντολή return
εντός της μεθόδου για να επιστρέψετε την τιμή.
Για παράδειγμα, αν θέλαμε να γράψουμε μια μέθοδο που να υπολογίζει το άθροισμα δύο αριθμών και να επιστρέφει το αποτέλεσμα, θα μπορούσαμε να ορίσουμε τη μέθοδο ως εξής:
// Ορισμός μιας στατικής μεθόδου με όνομα calculateSum, η οποία δέχεται δύο ακέραιες παραμέτρους num1 και num2 static int calculateSum(int num1, int num2) { // Δημιουργία μιας μεταβλητής sum και αποθήκευση του αθροίσματος των δύο αριθμών int sum = num1 + num2; // Επιστροφή του αθροίσματος return sum; }
Η χρήση του int
ως τύπου δεδομένων υποδηλώνει ότι η μέθοδος αναμένεται να επιστρέψει έναν ακέραιο αριθμό. Στο εσωτερικό της μεθόδου, υπολογίζεται το άθροισμα των δύο αριθμών και στη συνέχεια χρησιμοποιείται η εντολή return
για να επιστραφεί η τιμή του sum
.
Με αυτόν τον τρόπο, η μέθοδος calculateSum
μπορεί να χρησιμοποιηθεί όπως στο προη
γούμενο παράδειγμα, και η τιμή του αθροίσματος μπορεί να αποθηκευτεί και να χρησιμοποιηθεί από άλλα τμήματα του προγράμματος.
Στο παρακάτω παράδειγμα, δημιουργούμε μια μέθοδο addNumbers()
που παίρνει δύο ακέραιους αριθμούς ως παραμέτρους και επιστρέφει την άθροισή τους:
public class Main { public static void main(String[] args) { // Δημιουργία δύο μεταβλητών x και y με τιμές 5 και 3 αντίστοιχα int x = 5; int y = 3; // Κλήση της μεθόδου addNumbers() με τις μεταβλητές x και y και αποθήκευση του αποτελέσματος στη μεταβλητή sum int sum = addNumbers(x, y); // Εκτύπωση του μηνύματος "The sum is: " ακολουθούμενο από την τιμή της μεταβλητής sum System.out.println("The sum is: " + sum); } // Ορισμός της μεθόδου addNumbers() που παίρνει δύο παραμέτρους a και b τύπου int static int addNumbers(int a, int b) { // Προσθήκη των δύο αριθμών και αποθήκευση του αποτελέσματος στη μεταβλητή result int result = a + b; // Επιστροφή της μεταβλητής result return result; } }
Ο παραπάνω κώδικας πραγματοποιεί την ακόλουθη λειτουργία:
- Δημιουργεί δύο μεταβλητές
x
καιy
με τιμές 5 και 3 αντίστοιχα. - Καλεί τη στατική μέθοδο
addNumbers()
και περνά τις μεταβλητέςx
καιy
ως παράμετροι. - Η μέθοδος
addNumbers()
πραγματοποιεί την πρόσθεση των δύο παραμέτρων και αποθηκεύει το αποτέλεσμα στη μεταβλητήresult
. - Η μέθοδος
addNumbers()
επιστρέφει την τιμή της μεταβλητήςresult
. - Η τιμή που επιστράφηκε από τη μέθοδο
addNumbers()
αποθηκεύεται στη μεταβλητήsum
. - Εκτυπώνεται το μήνυμα “The sum is: ” ακολουθούμενο από την τιμή της μεταβλητής
sum
.
Συνολικά, ο κώδικας υπολογίζει το άθροισμα των δύο αριθμών x
και y
και το εμφανίζει στην οθόνη με το μήνυμα “The sum is: ” πριν από το αποτέλεσμα. Στη συγκεκριμένη περίπτωση, το αποτέλεσμα θα είναι “The sum is: 8”.
Το αποτέλεσμα μπορείτε να το εκτυπώσετε ή να το αποθηκεύσετε σε μια μεταβλητή για μελλοντική χρήση.
Παραδείγμα:
public class Main { public static void main(String[] args) { // Καλούμε την μέθοδο sum και αποθηκεύουμε το αποτέλεσμα στη μεταβλητή result int result = sum(10, 5); // Εκτυπώνουμε το αποτέλεσμα System.out.println(result); } // Ορίζουμε τη μέθοδο sum που πραγματοποιεί την πρόσθεση δύο αριθμών public static int sum(int x, int y) { // Επιστρέφουμε το άθροισμα των δύο αριθμών return x + y; } }
Ο παραπάνω κώδικας πραγματοποιεί την εξής λειτουργία:
- Ορίζεται η κλάση
Main
. - Στην κύρια μέθοδο
main
, καλείται η μέθοδοςsum
με τις παραμέτρους 10 και 5 και το αποτέλεσμα αποθηκεύεται στη μεταβλητήresult
. - Στη συνέχεια, το αποτέλεσμα εκτυπώνεται στην οθόνη με τη χρήση της
System.out.println()
, προκειμένου να εμφανιστεί στο παράθυρο της κονσόλας. - Τέλος, ορίζεται η μέθοδος
sum
, η οποία δέχεται δύο ακέραιες παραμέτρους (x
καιy
) και επιστρέφει το άθροισμά τους.
[adinserter block=”3″]
Συνολικά, ο κώδικας υπολογίζει το άθροισμα των δύο αριθμών (10 και 5) και το εμφανίζει στην οθόνη. Στην προκειμένη περίπτωση, το αποτέλεσμα που θα εμφανιστεί είναι 15.
Συχνά, στην Java, χρησιμοποιούνται εντολές if…else μέσα σε μεθόδους. Μια μέθοδος μπορεί να ελέγξει μια συνθήκη και να επιστρέψει διαφορετικά αποτελέσματα ανάλογα με την συνθήκη που ελέγχεται.
Παράδειγμα:
Σε αυτό το παράδειγμα, δημιουργούμε μια μέθοδο που δέχεται έναν ακέραιο αριθμό ως παράμετρο και επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει το κατά πόσο ο αριθμός είναι άρτιος ή περιττός:
public class Main { public static void main(String[] args) { int num = 4; // Δημιουργία μεταβλητής num και ανάθεση της τιμής 4 String result = evenOrOdd(num); // Κλήση της μεθόδου evenOrOdd() και αποθήκευση του αποτελέσματος στη μεταβλητή result System.out.println(result); // Εκτύπωση του αποτελέσματος στην οθόνη } static String evenOrOdd(int num) { if (num % 2 == 0) { // Έλεγχος εάν το num είναι ζυγός (έχει υπόλοιπο 0 κατά τη διαίρεση με το 2) return "Even"; // Επιστροφή του μηνύματος "Even" αν το num είναι ζυγός } else { return "Odd"; // Επιστροφή του μηνύματος "Odd" αν το num είναι μονός } } }
Ο παραπάνω κώδικας εκτελεί μια απλή λειτουργία για τον έλεγχο εάν ένας αριθμός είναι ζυγός ή μονός.
Αρχικά, ορίζεται η κλάση Main
. Μέσα σε αυτήν, υπάρχει η main
μέθοδος που είναι η εκκίνηση του προγράμματος. Μέσα στη main
μέθοδο, δηλώνεται μια μεταβλητή num
με τιμή 4.
Στη συνέχεια, καλείται η μέθοδος evenOrOdd(num)
, περνώντας την τιμή της μεταβλητής num
ως όρισμα. Η μέθοδος evenOrOdd
ελέγχει εάν ο αριθμός που δίνεται ως όρισμα είναι ζυγός ή μονός. Εάν είναι ζυγός (το υπόλοιπο της διαίρεσης με το 2 είναι 0), τότε επιστρέφεται το αλφαριθμητικό "Even"
, διαφορετικά επιστρέφεται το αλφαριθμητικό "Odd"
.
Η επιστρεφόμενη τιμή από τη μέθοδο evenOrOdd
αποθηκεύεται στη μεταβλητή result
. Τέλος, με τη χρήση της System.out.println(result)
, το αποτέλεσμα εκτυπώνεται στην οθόνη.
Συνολικά, ο κώδικας εκτυπώνει στην οθόνη το αποτέλεσμα που δηλώνει εάν ο αριθμός num
είναι ζυγός ή μονός (π.χ., “Even” ή “Odd” αντίστοιχα).
Εάν εκτελέσετε τον παραπάνω κώδικα, το αποτέλεσμα που θα εμφανιστεί στην οθόνη θα εξαρτάται από την τιμή της μεταβλητής num
.
Αν η τιμή της num
είναι 4, το αποτέλεσμα που θα εμφανιστεί στην οθόνη θα είναι:
Even
Αντίθετα, αν η τιμή της num
είναι οποιοδήποτε άλλος αριθμός πέραν του 4, το αποτέλεσμα θα είναι:
Odd
Το αποτέλεσμα είναι αποτέλεσμα της λειτουργίας της μεθόδου evenOrOdd
, η οποία επιστρέφει την αντίστοιχη αλφαριθμητική τιμή ανάλογα με το εάν ο αριθμός είναι ζυγός ή μονός. Το αποτέλεσμα εμφανίζεται στην οθόνη με τη χρήση της System.out.println(result)
.