how pass return an array java
Denna handledning kommer att förklara hur man skickar en matris som ett argument till en metod och som ett returvärde för metoden i Java med exempel:
Metoder eller funktioner används i Java för att dela upp programmet i mindre moduler. Dessa metoder anropas från andra funktioner och under detta skickas data till och från dessa metoder till samtalsfunktionerna.
Data som skickas från den anropande funktionen till den anropade funktionen är i form av argument eller parametrar till funktionen. Data som returneras från funktionen är returvärdet.
hur man skapar en objektmatris i java
=> Kolla här för att se A-Z av Java-utbildningar här.
Vanligtvis kan alla primitiva och härledda typer skickas till och returneras från funktionen. På samma sätt kan matriser också skickas till metoden och returneras från metoden.
I den här handledningen kommer vi att diskutera hur man skickar matriser som ett argument till en metod och returnerar matrisen från metoden.
Vad du kommer att lära dig:
- Förmedla matris till metoden i Java
- Hur man returnerar en matris i Java
- Vanliga frågor
- Slutsats
- Rekommenderad läsning
Förmedla matris till metoden i Java
Arrayer kan skickas till andra metoder precis som hur du skickar primitiva datatyps argument. För att skicka en matris som ett argument till en metod måste du bara skicka namnet på matrisen utan hakparenteser. Metodprototypen ska matcha för att acceptera argumentet för arraytypen.
Nedan visas metodprototypen:
void method_name (int () array);
Detta innebär att method_name accepterar en arrayparameter av typen int. Så om du har en int-array som heter myarray, då du kan ringa ovanstående metod enligt följande:
method_name (myarray);
Ovanstående anrop skickar referensen till arrayen myarray till metoden 'method_name'. De förändringar som gjorts i myarray inuti metoden kommer också att återspeglas i samtalsmetoden.
Till skillnad från C / C ++ behöver du inte skicka längdparametern tillsammans med matrisen till metoden eftersom alla Java-matriser har en egenskapslängd. Det kan dock vara tillrådligt att skicka flera element om bara några få positioner i matrisen är fyllda.
Följande Java-program visar överföringen av en matris som en parameter till funktionen.
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); } }
Produktion:
I ovanstående program initialiseras en matris i huvudfunktionen. Sedan kallas metoden printArray till vilken denna matris skickas som ett argument. I printArray-metoden passeras matrisen och varje element skrivs ut med den förbättrade for-slingan.
Låt oss ta ytterligare ett exempel på att skicka matriser till metoder. I det här exemplet har vi implementerat två klasser. En klass innehåller anropsmetoden main medan den andra klassen innehåller metoden för att hitta det maximala elementet i matrisen.
Så, huvudmetoden anropar metoden i en annan klass genom att skicka matrisen till den här metoden find_max. Metoden find_max beräknar det maximala elementet i inmatningsmatrisen och returnerar det till den anropande funktionen.
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)); } }
Produktion:
I ovanstående program har vi överfört matrisen från en metod i en klass till en annan metod som finns i en annan klass. Observera att tillvägagångssättet för passerande array är detsamma oavsett om metoden är i samma klass eller annan klass.
Hur man returnerar en matris i Java
Förutom alla primitiva typer som du kan returnera från Java-program kan du också returnera referenser till matriser.
När du returnerar en referens till en array från en metod bör du komma ihåg att:
- Datatypen som returnerar värde bör anges som matris för lämplig datatyp.
- Det returnerade värdet från en metod är referensen till matrisen.
Matrisen returneras från en metod i de fall där du behöver returnera flera värden av samma typ från en metod. Detta tillvägagångssätt blir användbart eftersom Java inte tillåter att flera värden returneras.
Följande program returnerar en strängmatris från en metod.
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)); } }
Produktion:
Ovanstående program är ett exempel på att returnera en arrayreferens från en metod. Metoden 'return_array' förklaras som en rad strängar 'ret_Array' och returnerar den helt enkelt. I huvudmetoden tilldelas returvärdet från return_array-metoden till strängmatrisen och visas sedan.
Följande program ger ett annat exempel på att returnera en matris från en metod. Här använder vi ett heltal array som används för att lagra de beräknade slumpmässiga siffrorna och sedan returneras denna array till 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 Produktion:

Ibland är resultaten av beräkningen noll eller tomma. I det här fallet returnerar funktionerna oftast noll. När matriser är inblandade är det bättre att returnera en tom matris istället för null. Detta beror på att metoden för att returnera matrisen kommer att ha konsistens. Den som ringer behöver inte heller ha någon speciell kod för att hantera nollvärden.
Vanliga frågor
F # 1) Passar Java arrays med referens?
Svar: Ja. Arrayer skickas som standard som referens. När vi skickar matrisen för att fungera ger vi helt enkelt namnet på den matris som utvärderas till matrisens startadress.
F # 2) Varför arrays skickas inte med värde?
Svar: Arrayer kan inte skickas med värde eftersom arraynamnet som skickas till metoden utvärderas till en referens.
hur man installerar eclipse c ++
F # 3) Kan en matris returneras i Java?
Svar: Ja, vi kan returnera en matris i Java. Vi har redan gett exempel på återkommande matriser i denna handledning.
F # 4) Kan en metod returnera flera värden?
Svar: Enligt specifikationer kan Java-metoder inte returnera flera värden. Men vi kan ha rundkörningssätt för att simulera att returnera flera värden. Till exempel, vi kan returnera matriser som har flera värden eller samlingar för den delen.
F # 5) Kan en metod ha två Return-uttalanden i Java?
Svar: Nej. Java tillåter inte att en metod har mer än ett returvärde.
Slutsats
Java tillåter arrays att skickas till en metod som ett argument såväl som att returneras från en metod. Arrayer skickas till metoden som referens.
När du anropar en viss metod skickas arraynamnet som pekar på startadressen för arrayen. På samma sätt, när en matris returneras från en metod, är det referensen som returneras.
I denna handledning diskuterade vi ovanstående ämnen i detalj med exempel. I våra efterföljande handledning kommer vi att täcka fler ämnen om matriser i Java.
=> Besök här för den exklusiva Java-utbildningsserien.
Rekommenderad läsning
- Java Array Length Tutorial With Code Exempel
- Java Array - Hur man skriver ut delar av en array i Java?
- Java Array - Förklara, skapa och initialisera en array i Java
- Java Generic Array - Hur man simulerar generiska arrays i Java?
- Java Reflection Tutorial med exempel
- Objektuppsättning i Java: Hur man skapar, initierar och använder
- Java SWING-handledning: Container, komponenter och händelsehantering
- JAVA-handledning för nybörjare: 100+ praktiska Java-videohandledning