how pass return an array java
Ovaj će vodič objasniti kako proslijediti niz kao argument metodi i kao povratnu vrijednost metode u Javi sa primjerima:
Metode ili funkcije koriste se u Javi za razbijanje programa na manje module. Te se metode pozivaju iz drugih funkcija i pritom se podaci prenose u i iz tih metoda u pozivne funkcije.
Podaci prosljeđivani iz pozivne funkcije u pozvanu funkciju su u obliku argumenata ili parametara funkciji. Podaci vraćeni iz funkcije su povratna vrijednost.
primjene Java u stvarnom svijetu
=> Ovdje pogledajte kako biste ovdje vidjeli A-Z Java tutorijala za obuku.
Obično se svi primitivni i izvedeni tipovi mogu proslijediti i vratiti iz funkcije. Isto tako, nizovi se također mogu proslijediti metodi i vratiti iz metode.
U ovom uputstvu raspravljat ćemo o tome kako proslijediti nizove kao argument metodi i vratiti niz iz metode.
Što ćete naučiti:
- Prosljeđivanje niza metodi u Javi
- Kako vratiti niz u Javi
- Često postavljana pitanja
- Zaključak
- Preporučena literatura
Prosljeđivanje niza metodi u Javi
Nizovi se mogu prosljeđivati drugim metodama, baš kao što prosljeđujete argumente primitivnog tipa podataka. Da biste metodi proslijedili niz kao argument, morate samo proslijediti ime niza bez uglatih zagrada. Prototip metode trebao bi se podudarati kako bi prihvatio argument tipa polja.
Dolje je dat prototip metode:
void method_name (int () array);
To znači da će method_name prihvatiti parametar niza tipa int. Dakle, ako imate int niz s imenom myarray, onda gornju metodu možete nazvati na sljedeći način:
method_name (myarray);
Gornji poziv prosljeđuje referencu na niz myarray na metodu 'method_name'. Tako će se promjene načinjene na myarrayu unutar metode odraziti i na metodu pozivanja.
Za razliku od C / C ++, metodi ne morate prosljeđivati parametar length zajedno s nizom jer svi Java nizovi imaju svojstvo ‘length’. Međutim, moglo bi biti uputno proslijediti nekoliko elemenata u slučaju da je popunjeno samo nekoliko mjesta u polju.
Sljedeći Java program prikazuje prosljeđivanje niza kao parametra funkciji.
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); } }
Izlaz:
U gore navedenom programu niz je inicijaliziran u glavnoj funkciji. Tada se poziva metoda printArray kojoj se taj niz prosljeđuje kao argument. U metodi printArray, niz se prelazi i svaki se element ispisuje pomoću poboljšane for petlje.
Uzmimo još jedan primjer prosljeđivanja nizova metodama. U ovom smo primjeru implementirali dvije klase. Jedna klasa sadrži metodu pozivanja main, dok druga klasa sadrži metodu za pronalaženje maksimalnog elementa u polju.
Dakle, glavna metoda poziva metodu u drugoj klasi prosljeđivanjem niza ovoj metodi find_max. Metoda find_max izračunava maksimalni element ulaznog niza i vraća ga pozivajućoj funkciji.
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)); } }
Izlaz:
U gore navedenom programu prenijeli smo niz s jedne metode u jednu klasu na drugu metodu prisutnu u drugoj klasi. Imajte na umu da je pristup prosljeđivanju niza jednak bez obzira je li metoda u istoj ili drugoj klasi.
Kako vratiti niz u Javi
Osim svih primitivnih tipova koje možete vratiti iz Java programa, možete vratiti i reference na nizove.
Dok vraćate referencu na niz iz metode, imajte na umu da:
- Tip podataka koji vraća vrijednost trebao bi biti naveden kao niz odgovarajućeg tipa podataka.
- Vraćena vrijednost iz metode referenca je na niz.
Niz se vraća iz metode u slučajevima kada iz metode trebate vratiti više vrijednosti istog tipa. Ovaj pristup postaje koristan jer Java ne dopušta vraćanje više vrijednosti.
Sljedeći program vraća niz stringova iz metode.
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)); } }
Izlaz:
Gornji program primjer je vraćanja reference niza iz metode. Metoda 'return_array' proglašava se nizom nizova 'ret_Array', a zatim ga jednostavno vraća. U glavnoj metodi, povratna vrijednost iz metode return_array dodjeljuje se nizu nizova i zatim prikazuje.
Sljedeći program pruža još jedan primjer vraćanja niza iz metode. Ovdje koristimo cjelobrojni niz koji se koristi za pohranu izračunatih slučajnih brojeva, a zatim se taj niz vraća pozivatelju.
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 Izlaz:

Ponekad su rezultati izračuna nula ili prazni. U ovom slučaju, funkcije najčešće vraćaju nulu. Kada su uključeni nizovi, bolje je vratiti prazan niz umjesto null. To je zato što će metoda vraćanja niza imati dosljednost. Također, pozivatelj ne mora imati poseban kôd za obradu null vrijednosti.
Često postavljana pitanja
P # 1) Propušta li Java nizove referencom?
Odgovor: Da. Nizovi se prema zadanim postavkama prosljeđuju referencom. Dok prosljeđujemo niz u funkciju, jednostavno navodimo ime niza koji se procjenjuje na početnu adresu niza.
P # 2) Zašto se nizovi ne prosljeđuju po vrijednosti?
Odgovor: Nizovi se ne mogu prosljeđivati po vrijednosti jer se ime polja koje se prosljeđuje metodi procjenjuje na referencu.
P # 3) Može li se niz vratiti u Javi?
c ++ pogreška nedefinirana referenca na
Odgovor: Da, možemo vratiti niz u Javi. U ovom smo uputstvu već dali primjere vraćanja nizova.
P # 4) Može li metoda vratiti više vrijednosti?
Odgovor: Prema specifikacijama, Java metode ne mogu vratiti više vrijednosti. Ali možemo imati zaobilazne načine simuliranja vraćanja više vrijednosti. Na primjer, možemo vratiti nizove koji imaju više vrijednosti ili zbirki.
P # 5) Može li metoda imati dvije naredbe Return u Javi?
Odgovor: Ne. Java ne dopušta da metoda ima više od jedne povratne vrijednosti.
Zaključak
Java omogućuje da se nizovi predaju metodi kao argument, kao i da se vraćaju iz metode. Nizovi se predaju metodi kao referenca.
Tijekom pozivanja određene metode, prosljeđuje se ime polja koje upućuje na početnu adresu niza. Slično tome, kada se niz vraća iz metode, vraća se referenca.
U ovom uputstvu detaljno smo razmotrili gornje teme s primjerima. U našim slijedećim vodičima pokrivat ćemo više tema o nizovima u Javi.
=> Posjetite ovdje za ekskluzivnu seriju udžbenika za Java.
Preporučena literatura
- Vodič za dužinu Java polja s primjerima koda
- Java niz - Kako ispisati elemente niza u Javi?
- Java Array - Deklariranje, stvaranje i inicijalizacija niza u Javi
- Java generički niz - kako simulirati generičke nizove u Javi?
- Java Vodič za refleksiju s primjerima
- Niz objekata u Javi: kako stvoriti, inicijalizirati i koristiti
- Java SWING Vodič: Spremnici, komponente i upravljanje događajima
- JAVA Tutorial za početnike: 100+ praktičnih Java Video tutorijala