how pass return an array java
Αυτό το σεμινάριο θα εξηγήσει πώς να περάσετε μια συστοιχία ως επιχείρημα σε μια μέθοδο και ως τιμή επιστροφής για τη μέθοδο σε Java με παραδείγματα:
Οι μέθοδοι ή οι λειτουργίες χρησιμοποιούνται στην Java για να χωρίσουν το πρόγραμμα σε μικρότερες ενότητες. Αυτές οι μέθοδοι καλούνται από άλλες συναρτήσεις και ενώ με αυτόν τον τρόπο τα δεδομένα μεταφέρονται προς και από αυτές τις μεθόδους στις λειτουργίες κλήσης.
Τα δεδομένα που διαβιβάζονται από τη συνάρτηση κλήσης στη συνάρτηση που καλείται είναι με τη μορφή ορισμάτων ή παραμέτρων στη συνάρτηση. Τα δεδομένα που επιστρέφονται από τη συνάρτηση είναι η τιμή επιστροφής.
γεννήτρια τυχαίων αριθμών 0-1
=> Δείτε εδώ για να δείτε το A-Z Of Java Training Tutorials εδώ.
Συνήθως, όλοι οι πρωτόγονοι και παράγονοι τύποι μπορούν να περάσουν και να επιστραφούν από τη συνάρτηση. Ομοίως, οι πίνακες μπορούν επίσης να περάσουν στη μέθοδο και να επιστραφούν από τη μέθοδο.
Σε αυτό το σεμινάριο, θα συζητήσουμε πώς να μεταβιβάσουμε πίνακες ως όρισμα σε μια μέθοδο και να επιστρέψουμε τον πίνακα από τη μέθοδο.
Τι θα μάθετε:
- Διαβίβαση σειράς στη μέθοδο Java
- Πώς να επιστρέψετε μια σειρά στην Java
- Συχνές Ερωτήσεις
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Διαβίβαση σειράς στη μέθοδο Java
Οι πίνακες μπορούν να μεταβιβαστούν σε άλλες μεθόδους, όπως ο τρόπος με τον οποίο περνάτε τα επιχειρήματα του πρωτόγονου τύπου δεδομένων. Για να μεταβιβάσετε έναν πίνακα ως όρισμα σε μια μέθοδο, απλά πρέπει να περάσετε το όνομα του πίνακα χωρίς αγκύλες. Το πρωτότυπο της μεθόδου πρέπει να ταιριάζει για να αποδεχτεί το όρισμα του τύπου πίνακα.
Δίνεται παρακάτω το πρωτότυπο της μεθόδου:
void method_name (int [] array);
Αυτό σημαίνει ότι το method_name θα αποδεχτεί μια παράμετρο πίνακα του τύπου int. Επομένως, εάν έχετε ένα int array που ονομάζεται myarray, τότε μπορείτε να καλέσετε την παραπάνω μέθοδο ως εξής:
method_name (myarray);
Η παραπάνω κλήση μεταβιβάζει την αναφορά στον πίνακα myarray στη μέθοδο «method_name». Έτσι, οι αλλαγές που έγιναν στο myarray μέσα στη μέθοδο θα αντικατοπτρίζονται και στη μέθοδο κλήσης.
Σε αντίθεση με το C / C ++, δεν χρειάζεται να περάσετε την παράμετρο μήκους μαζί με τον πίνακα στη μέθοδο, καθώς όλοι οι πίνακες Java έχουν μια ιδιότητα «μήκος». Ωστόσο, θα ήταν σκόπιμο να περάσετε πολλά στοιχεία σε περίπτωση που μόνο λίγες θέσεις στον πίνακα είναι γεμάτες.
Το ακόλουθο πρόγραμμα Java δείχνει τη μετάδοση ενός πίνακα ως παραμέτρου στη συνάρτηση.
public class Main { //method to print an array, taking array as an argument private static void printArray(Integer[] intArray){ System.out.println('Array contents printed through method:'); //print individual elements of array using enhanced for loop for(Integer val: intArray) System.out.print(val + ' '); } public static void main(String[] args) { //integer array Integer[] intArray = {10,20,30,40,50,60,70,80}; //call printArray method by passing intArray as an argument printArray(intArray); } }
Παραγωγή:
Στο παραπάνω πρόγραμμα, ένας πίνακας αρχικοποιείται στην κύρια λειτουργία. Στη συνέχεια, η μέθοδος printArray καλείται στην οποία μεταδίδεται αυτός ο πίνακας ως όρισμα. Στη μέθοδο printArray, ο πίνακας διασχίζεται και κάθε στοιχείο εκτυπώνεται χρησιμοποιώντας το βελτιωμένο για βρόχο.
Ας πάρουμε ένα άλλο παράδειγμα μετάδοσης συστοιχιών σε μεθόδους. Σε αυτό το παράδειγμα, έχουμε εφαρμόσει δύο κατηγορίες. Η μία κλάση περιέχει την κύρια μέθοδο κλήσης, ενώ η άλλη κλάση περιέχει τη μέθοδο εύρεσης του μέγιστου στοιχείου στον πίνακα.
Έτσι, η κύρια μέθοδος καλεί τη μέθοδο σε μια άλλη τάξη μεταβιβάζοντας τον πίνακα σε αυτήν τη μέθοδο find_max. Η μέθοδος find_max υπολογίζει το μέγιστο στοιχείο της συστοιχίας εισόδου και την επιστρέφει στη λειτουργία κλήσης.
class maxClass{ public int find_max(int [] myarray) { int max_val = 0; //traverse the array to compare each element with max_val for(int i=0; imax_val) { max_val = myarray[i]; } } //return max_val return max_val; } } public class Main { public static void main(String args[]) { //input array int[] myArray = {43,54,23,65,78,85,88,92,10}; System.out.println('Input Array:' + Arrays.toString(myArray)); //create object of class which has method to find maximum maxClassobj = new maxClass(); //pass input array to find_max method that returns maximum element System.out.println('Maximum value in the given array is::'+obj.find_max(myArray)); } }
Παραγωγή:
Στο παραπάνω πρόγραμμα, έχουμε περάσει τον πίνακα από μια μέθοδο σε μια τάξη σε μια άλλη μέθοδο που υπάρχει σε μια διαφορετική τάξη. Σημειώστε ότι η προσέγγιση του πίνακα διαβίβασης είναι η ίδια είτε η μέθοδος είναι στην ίδια κατηγορία είτε σε διαφορετική κατηγορία.
Πώς να επιστρέψετε μια σειρά στην Java
Εκτός από όλους τους πρωτόγονους τύπους που μπορείτε να επιστρέψετε από προγράμματα Java, μπορείτε επίσης να επιστρέψετε αναφορές σε πίνακες.
Κατά την επιστροφή μιας αναφοράς σε έναν πίνακα από μια μέθοδο, θα πρέπει να έχετε υπόψη ότι:
- Ο τύπος δεδομένων που επιστρέφει την τιμή πρέπει να καθοριστεί ως ο πίνακας του κατάλληλου τύπου δεδομένων.
- Η επιστρεφόμενη τιμή από μια μέθοδο είναι η αναφορά στον πίνακα.
Ο πίνακας επιστρέφεται από μια μέθοδο στις περιπτώσεις όπου πρέπει να επιστρέψετε πολλές τιμές του ίδιου τύπου από μια μέθοδο. Αυτή η προσέγγιση καθίσταται χρήσιμη καθώς η Java δεν επιτρέπει την επιστροφή πολλαπλών τιμών.
Το ακόλουθο πρόγραμμα επιστρέφει έναν πίνακα συμβολοσειρών από μια μέθοδο.
import java.util.*; public class Main { public static String[] return_Array() { //define string array String[] ret_Array = {'Java', 'C++', 'Python', 'Ruby', 'C'}; //return string array return ret_Array; } public static void main(String args[]) { //call method return_array that returns array String[] str_Array = return_Array(); System.out.println('Array returned from method:' + Arrays.toString(str_Array)); } }
Παραγωγή:
Το παραπάνω πρόγραμμα είναι ένα παράδειγμα επιστροφής μιας αναφοράς πίνακα από μια μέθοδο. Η μέθοδος 'return_array' δηλώνεται ως μια σειρά από συμβολοσειρές 'ret_Array' και μετά απλώς την επιστρέφει. Στην κύρια μέθοδο, η τιμή επιστροφής από τη μέθοδο return_array αντιστοιχίζεται στον πίνακα συμβολοσειρών και στη συνέχεια εμφανίζεται.
Το ακόλουθο πρόγραμμα παρέχει ένα άλλο παράδειγμα επιστροφής ενός πίνακα από μια μέθοδο. Εδώ, χρησιμοποιούμε έναν ακέραιο πίνακα που χρησιμοποιείται για την αποθήκευση των υπολογισμένων τυχαίων αριθμών και στη συνέχεια αυτός ο πίνακας επιστρέφεται στον καλούντα.
public class Main { public static void main(String[] args) { final int N = 10; // number of random elements // Create an array int[] random_numbers; // call create_random method that returns an array of random numbers random_numbers = create_random(N); System.out.println('The array of random numbers:'); // display array of random numbers for (int i = 0; i number of random numbers to be generated int[] random_array = new int[N]; //generate random numbers and assign to array for (int i = 0; i Παραγωγή:
Μερικές φορές τα αποτελέσματα του υπολογισμού είναι μηδενικά ή κενά. Σε αυτήν την περίπτωση, τις περισσότερες φορές, οι συναρτήσεις επιστρέφουν μηδενικές. Όταν εμπλέκονται πίνακες, είναι καλύτερο να επιστρέψετε έναν κενό πίνακα αντί για μηδενικό. Αυτό συμβαίνει επειδή η μέθοδος επιστροφής του πίνακα θα έχει συνέπεια. Επίσης, ο καλών δεν χρειάζεται να έχει ειδικό κωδικό για τη διαχείριση μηδενικών τιμών.
Συχνές Ερωτήσεις
Ε # 1) Το Java Pass Arrays γίνεται με αναφορά;
Απάντηση: Ναί. Οι πίνακες μεταβιβάζονται από προεπιλογή με αναφορά. Ενώ μεταβιβάζουμε τον πίνακα σε λειτουργία, παρέχουμε απλώς το όνομα του πίνακα που αξιολογεί την αρχική διεύθυνση του πίνακα.
Ε # 2) Γιατί οι συστοιχίες δεν περνούν από την τιμή;
Απάντηση: Οι πίνακες δεν μπορούν να περάσουν από την τιμή, επειδή το όνομα του πίνακα που μεταβιβάζεται στη μέθοδο αξιολογείται σε μια αναφορά.
Q # 3) Μπορεί να επιστραφεί μια σειρά στην Java;
Απάντηση: Ναι, μπορούμε να επιστρέψουμε έναν πίνακα στην Java. Έχουμε ήδη δώσει παραδείγματα επιστροφής συστοιχιών σε αυτό το σεμινάριο.
Q # 4) Μπορεί μια μέθοδο να επιστρέψει πολλές τιμές;
Απάντηση: Σύμφωνα με τις προδιαγραφές, οι μέθοδοι Java δεν μπορούν να επιστρέψουν πολλές τιμές. Αλλά μπορούμε να έχουμε κυκλικούς τρόπους για να προσομοιώσουμε την επιστροφή πολλαπλών τιμών. Για παράδειγμα, μπορούμε να επιστρέψουμε πίνακες που έχουν πολλές τιμές ή συλλογές για αυτό το θέμα.
καλύτερο λογισμικό αντιγραφής DVD για τα Windows 10
Ε # 5) Μπορεί μια μέθοδος να έχει δύο δηλώσεις Return στην Java;
Απάντηση: Όχι. Η Java δεν επιτρέπει σε μια μέθοδο να έχει περισσότερες από μία τιμές επιστροφής.
συμπέρασμα
Η Java επιτρέπει τη μετάδοση συστοιχιών σε μια μέθοδο ως επιχείρημα καθώς και την επιστροφή από μια μέθοδο. Οι πίνακες μεταφέρονται στη μέθοδο ως αναφορά.
Κατά την κλήση μιας συγκεκριμένης μεθόδου, μεταδίδεται το όνομα του πίνακα που δείχνει την αρχική διεύθυνση του πίνακα. Ομοίως, όταν ένας πίνακας επιστρέφεται από μια μέθοδο, είναι η αναφορά που επιστρέφεται.
Σε αυτό το σεμινάριο, συζητήσαμε λεπτομερώς τα παραπάνω θέματα με παραδείγματα. Στα επόμενα σεμινάριά μας, θα καλύψουμε περισσότερα θέματα σχετικά με πίνακες στην Java.
=> Επισκεφτείτε εδώ για την αποκλειστική σειρά εκπαιδευτικών εκμάθησης Java.
Συνιστώμενη ανάγνωση
- Εκμάθηση μήκους σειράς Java με παραδείγματα κώδικα
- Java Array - Πώς να εκτυπώσετε στοιχεία ενός πίνακα στην Java;
- Java Array - Δήλωση, δημιουργία και αρχικοποίηση μιας σειράς στην Java
- Java Generic Array - Πώς να προσομοιώσετε γενικές συστοιχίες στην Java;
- Εκμάθηση Java Reflection με παραδείγματα
- Σειρά αντικειμένων σε Java: Πώς να δημιουργήσετε, να αρχικοποιήσετε και να χρησιμοποιήσετε
- Εκμάθηση Java SWING: Container, Components and Event Handling
- Εκπαιδευτικό πρόγραμμα JAVA για αρχάριους: 100+ πρακτικά εκπαιδευτικά βίντεο Java