how pass return an array java
Denne vejledning forklarer, hvordan man overfører en matrix som et argument til en metode og som en returværdi for metoden i Java med eksempler:
Metoder eller funktioner bruges i Java til at opdele programmet i mindre moduler. Disse metoder kaldes fra andre funktioner, og mens de gør det, overføres data til og fra disse metoder til opkaldsfunktionerne.
Dataene, der sendes fra den kaldende funktion til den kaldte funktion, er i form af argumenter eller parametre til funktionen. Dataene, der returneres fra funktionen, er returværdien.
hvad er systemtest med eksempel
=> Tjek her for at se AZ af Java-træningsvejledninger her.
Normalt kan alle de primitive og afledte typer videregives til og returneres fra funktionen. Ligeledes kan arrays også sendes til metoden og returneres fra metoden.
I denne vejledning vil vi diskutere, hvordan man overfører arrays som et argument til en metode og returnerer arrayet fra metoden.
Hvad du vil lære:
- Videregive Array til metoden i Java
- Sådan returneres en matrix i Java
- Ofte stillede spørgsmål
- Konklusion
- Anbefalet læsning
Videregive Array til metoden i Java
Arrays kan videregives til andre metoder, ligesom hvordan du sender primitive datatypes argumenter. For at videregive en matrix som et argument til en metode, skal du bare sende navnet på arrayet uden firkantede parenteser. Metodeprototypen skal matche for at acceptere argumentet for arraytypen.
Nedenfor er metodeprototypen:
void method_name (int [] array);
Dette betyder, at method_name accepterer en matrixparameter af typen int. Så hvis du har et int-array ved navn myarray, så du kan kalde ovenstående metode som følger:
method_name (myarray);
Ovenstående opkald sender henvisningen til array-myarray til metoden 'method_name'. Således vil ændringerne i myarray inde i metoden også afspejle i kaldemetoden.
I modsætning til i C / C ++ behøver du ikke videregive længdeparameteren sammen med array til metoden, da alle Java-arrays har en egenskabslængde. Det kan dog være tilrådeligt at videregive flere elementer, hvis kun få positioner i arrayet er udfyldt.
Det følgende Java-program demonstrerer, hvordan en matrix overføres som en parameter til 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 ovenstående program initialiseres en matrix i hovedfunktionen. Derefter kaldes metoden printArray, som denne matrix sendes som et argument. I metoden printArray krydses arrayet, og hvert element udskrives ved hjælp af den forbedrede for-løkke.
Lad os tage et andet eksempel på, hvordan man overfører arrays til metoder. I dette eksempel har vi implementeret to klasser. Den ene klasse indeholder kaldemetoden main, mens den anden klasse indeholder metoden til at finde det maksimale element i arrayet.
Så hovedmetoden kalder metoden i en anden klasse ved at sende arrayet til denne metode find_max. Metoden find_max beregner det maksimale element i input-arrayet og returnerer det til den kaldende funktion.
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 ovenstående program har vi overført arrayet fra en metode i en klasse til en anden metode, der findes i en anden klasse. Bemærk, at tilgangen til forbipasserende matrix er den samme, uanset om metoden er i samme klasse eller anden klasse.
Sådan returneres en matrix i Java
Bortset fra alle de primitive typer, som du kan returnere fra Java-programmer, kan du også returnere referencer til arrays.
Mens du returnerer en henvisning til en matrix fra en metode, skal du huske på, at:
- Datatypen, der returnerer værdi, skal specificeres som arrayet for den relevante datatype.
- Den returnerede værdi fra en metode er henvisningen til arrayet.
Arrayet returneres fra en metode i de tilfælde, hvor du skal returnere flere værdier af samme type fra en metode. Denne tilgang bliver nyttig, da Java ikke tillader returnering af flere værdier.
Det følgende program returnerer en streng array 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)); } }
Produktion:
Ovenstående program er et eksempel på at returnere en matrixreference fra en metode. Metoden 'return_array' erklæres som en række strenge 'ret_Array' og returnerer den blot. I hovedmetoden tildeles returværdien fra metoden return_array til strengarrayet og vises derefter.
Det følgende program giver et andet eksempel på at returnere en matrix fra en metode. Her bruger vi et heltal array, der bruges til at gemme de beregnede tilfældige tal, og derefter returneres dette array til den, der ringer op.
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:

Nogle gange er resultaterne af beregningen nul eller tom. I dette tilfælde returnerer funktionerne oftest nul. Når arrays er involveret, er det bedre at returnere et tomt array i stedet for null. Dette skyldes, at metoden til at returnere arrayet vil have konsistens. Desuden behøver opkalderen ikke have en særlig kode til at håndtere nulværdier.
Ofte stillede spørgsmål
Spørgsmål nr. 1) Passerer Java-arrays med reference?
Svar: Ja. Arrays overføres som standard til reference. Mens vi overfører arrayet til at fungere, giver vi simpelthen navnet på det array, der evalueres til matrixens startadresse.
Spørgsmål nr. 2) Hvorfor overføres arrays ikke med værdi?
Svar: Arrays kan ikke sendes med værdi, fordi det array-navn, der sendes til metoden, evalueres til en reference.
Spørgsmål nr. 3) Kan en matrix returneres i Java?
Svar: Ja, vi kan returnere et array i Java. Vi har allerede givet eksempler på tilbagevendende arrays i denne vejledning.
Q # 4) Kan en metode returnere flere værdier?
Svar: I henhold til specifikationer kan Java-metoder ikke returnere flere værdier. Men vi kan have rundkørsler til at simulere returnering af flere værdier. For eksempel, vi kan returnere arrays, der har flere værdier eller samlinger for den sags skyld.
Q # 5) Kan en metode have to Return-sætninger i Java?
Svar: Nej. Java tillader ikke, at en metode har mere end en returværdi.
flet sorteringskode c ++
Konklusion
Java tillader arrays at blive sendt til en metode som et argument såvel som at blive returneret fra en metode. Arrays sendes til metoden som reference.
Mens du kalder på en bestemt metode, videregives matrixnavnet, der peger på matrixens startadresse. Tilsvarende, når et array returneres fra en metode, er det referencen, der returneres.
I denne vejledning diskuterede vi ovenstående emner i detaljer med eksempler. I vores efterfølgende tutorials vil vi dække flere emner om arrays i Java.
=> Besøg her for den eksklusive Java-træningsvejledningsserie.
Anbefalet læsning
- Java Array Length Tutorial med kodeeksempler
- Java Array - Hvordan udskrives elementer af en matrix i Java?
- Java Array - Erklære, oprette og initialisere en matrix i Java
- Java Generic Array - Sådan simuleres generiske arrays i Java?
- Java Reflection Tutorial med eksempler
- Objektarray i Java: Sådan oprettes, initialiseres og bruges
- Java SWING Tutorial: Container, komponenter og håndtering af begivenheder
- JAVA-vejledning til begyndere: 100+ praktiske Java-videovejledninger