how pass return an array java
Denne opplæringen vil forklare hvordan du overfører en matrise som et argument til en metode og som en returverdi for metoden i Java med eksempler:
Metoder eller funksjoner brukes i Java for å dele programmet opp i mindre moduler. Disse metodene kalles fra andre funksjoner, og mens du gjør dette, overføres data til og fra disse metodene til anropsfunksjonene.
Dataene som sendes fra anropsfunksjonen til den anropte funksjonen er i form av argumenter eller parametere til funksjonen. Dataene som returneres fra funksjonen er returverdien.
forskjell mellom enhetstest og integrasjonstest
=> Sjekk her for å se AZ av Java-opplæringsveiledninger her.
Vanligvis kan alle primitive og avledede typer sendes til og returneres fra funksjonen. På samme måte kan matriser også sendes til metoden og returneres fra metoden.
I denne opplæringen vil vi diskutere hvordan du kan overføre matriser som et argument til en metode og returnere matrisen fra metoden.
Hva du vil lære:
- Overføring av matrise til metoden i Java
- Hvordan returnere en matrise i Java
- ofte stilte spørsmål
- Konklusjon
- Anbefalt lesing
Overføring av matrise til metoden i Java
Arrays kan overføres til andre metoder, akkurat som hvordan du overfører primitive datatypes argumenter. For å overføre en matrise som et argument til en metode, må du bare sende navnet på matrisen uten hakeparenteser. Metodeprototypen skal samsvare med for å akseptere argumentet til matrisen.
Nedenfor er metodeprototypen:
void method_name (int () array);
Dette betyr at method_name vil godta en array-parameter av typen int. Så hvis du har en int-gruppe som heter myarray, så du kan kalle metoden ovenfor som følger:
method_name (myarray);
Ovennevnte anrop overfører referansen til arrayet myarray til metoden ‘method_name’. Dermed vil endringene som er gjort i myarray inne i metoden også gjenspeiles i kallemetoden.
I motsetning til i C / C ++, trenger du ikke sende lengdeparameteren sammen med matrisen til metoden, ettersom alle Java-matriser har en egenskap 'lengde'. Det kan imidlertid være tilrådelig å passere flere elementer i tilfelle bare noen få posisjoner i matrisen er fylt.
Følgende Java-program demonstrerer overføring av en matrise som en parameter til funksjonen.
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); } }
Produksjon:
I programmet ovenfor initialiseres en matrise i hovedfunksjonen. Deretter kalles metoden printArray som denne matrisen sendes til som et argument. I printArray-metoden krysses matrisen, og hvert element skrives ut med den forbedrede for-sløyfen.
La oss ta et annet eksempel på å overføre matriser til metoder. I dette eksemplet har vi implementert to klasser. Den ene klassen inneholder anropsmetoden hoved, mens den andre klassen inneholder metoden for å finne det maksimale elementet i matrisen.
Så, hovedmetoden kaller metoden i en annen klasse ved å overføre matrisen til denne metoden find_max. Find_max-metoden beregner det maksimale elementet i inngangsmatrisen og returnerer den til anropsfunksjonen.
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)); } }
Produksjon:
I programmet ovenfor har vi overført matrisen fra en metode i en klasse til en annen metode som er tilstede i en annen klasse. Merk at tilnærmingen til å passere matrisen er den samme, enten metoden er i samme klasse eller annen klasse.
Hvordan returnere en matrise i Java
Bortsett fra alle de primitive typene du kan returnere fra Java-programmer, kan du også returnere referanser til matriser.
Når du returnerer en referanse til en matrise fra en metode, bør du huske på at:
- Datatypen som returnerer verdi, bør spesifiseres som matrisen for den aktuelle datatypen.
- Den returnerte verdien fra en metode er referansen til matrisen.
Matrisen returneres fra en metode i tilfeller der du trenger å returnere flere verdier av samme type fra en metode. Denne tilnærmingen blir nyttig ettersom Java ikke tillater retur av flere verdier.
Følgende program returnerer en strengmatrise fra en 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)); } }
Produksjon:
Ovennevnte program er et eksempel på å returnere en matrisereferanse fra en metode. Metoden 'return_array' blir erklært en rekke strenger 'ret_Array' og returnerer den bare. I hovedmetoden tildeles returverdien fra return_array-metoden til strengmatrisen og vises deretter.
Følgende program gir et annet eksempel på å returnere en matrise fra en metode. Her bruker vi et heltallmatrise som brukes til å lagre de beregnede tilfeldige tallene, og deretter returneres denne matrisen til den som ringer.
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 Produksjon:
Noen ganger er resultatene av beregningen null eller tomme. I dette tilfellet returnerer funksjonene null. Når matriser er involvert, er det bedre å returnere en tom matrise i stedet for null. Dette er fordi metoden for å returnere matrisen vil ha konsistens. Dessuten trenger den som ringer ikke ha spesiell kode for å håndtere nullverdier.
ofte stilte spørsmål
Q # 1) Gjør Java Pass Arrays med referanse?
standard gateway er ikke tilgjengelig windows 7
Svar: Ja. Arrays er som standard sendt som referanse. Mens vi overfører matrisen til funksjon, oppgir vi bare navnet på matrisen som evalueres til startadressen til matrisen.
Spørsmål 2) Hvorfor matriser ikke verdier?
Svar: Matriser kan ikke sendes etter verdi fordi matrisenavnet som sendes til metoden evalueres til en referanse.
Q # 3) Kan en matrise returneres i Java?
Svar: Ja, vi kan returnere en matrise i Java. Vi har allerede gitt eksempler på returnerende matriser i denne opplæringen.
Q # 4) Kan en metode returnere flere verdier?
Svar: I henhold til spesifikasjonene kan ikke Java-metoder returnere flere verdier. Men vi kan ha rundkjøringsmåter å simulere retur av flere verdier. For eksempel, Vi kan returnere matriser som har flere verdier eller samlinger for den saks skyld.
Q # 5) Kan en metode ha to Return-setninger i Java?
Svar: Nei. Java tillater ikke at en metode har mer enn en returverdi.
Konklusjon
Java lar matriser overføres til en metode som et argument, så vel som å bli returnert fra en metode. Arrangementer sendes til metoden som referanse.
Mens du ringer til en bestemt metode, sendes matrisenavnet som peker til startadressen til matrisen. På samme måte, når en matrise returneres fra en metode, er det referansen som returneres.
I denne opplæringen diskuterte vi ovennevnte emner i detalj med eksempler. I de påfølgende veiledningene vil vi dekke flere emner om matriser i Java.
=> Besøk her for den eksklusive opplæringsserien for Java Training.
Anbefalt lesing
- Java Array Length Tutorial With Code Eksempler
- Java Array - Hvordan skrive ut elementer av en array i Java?
- Java Array - Erklære, opprette og initialisere en array i Java
- Java Generic Array - Hvordan simulere generiske matriser i Java?
- Java Reflection Tutorial med eksempler
- Array of Objects In Java: Hvordan lage, initialisere og bruke
- Java SWING Tutorial: Container, Components and Event Handling
- JAVA-opplæring for nybegynnere: 100+ praktiske Java-videoveiledninger