how pass return an array java
Този урок ще обясни как да се предаде масив като аргумент на метод и като върната стойност за метода в Java с примери:
В Java се използват методи или функции за разбиване на програмата на по-малки модули. Тези методи се извикват от други функции и при това данните се предават на и от тези методи на извикващите функции.
Данните, предадени от извикващата функция към извиканата функция, са под формата на аргументи или параметри на функцията. Данните, върнати от функцията, са връщаната стойност.
основни въпроси за интервю за Java за тестери на селен
=> Проверете тук, за да видите A-Z на уроците за обучение по Java тук.
Обикновено всички примитивни и производни типове могат да бъдат предадени и върнати от функцията. По същия начин масивите също могат да бъдат предадени на метода и върнати от метода.
В този урок ще обсъдим как да предаваме масиви като аргумент на метод и да връщаме масива от метода.
Какво ще научите:
- Предаване на масив на метода в Java
- Как да върна масив в Java
- често задавани въпроси
- Заключение
- Препоръчително четене
Предаване на масив на метода в Java
Масивите могат да се предават на други методи, точно както предавате аргументите на примитивния тип данни. За да предадете масив като аргумент на метод, трябва просто да предадете името на масива без квадратни скоби. Прототипът на метода трябва да съвпада, за да приеме аргумента от типа масив.
По-долу е даден прототипът на метода:
void method_name (int () array);
Това означава, че method_name ще приеме параметър на масив от тип int. Така че, ако имате масив int с име myarray, тогава можете да извикате горния метод, както следва:
method_name (myarray);
Горното повикване предава препратката към масива myarray към метода ‘method_name’. По този начин промените, направени в myarray вътре в метода, ще се отразят и в извикващия метод.
За разлика от C / C ++, не е необходимо да предавате параметъра length заедно с масив на метода, тъй като всички Java масиви имат свойство ‘length’. Въпреки това може да е препоръчително да се предадат няколко елемента, в случай че са запълнени само няколко позиции в масива.
Следващата 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 масивът се обхожда и всеки елемент се отпечатва с помощта на усъвършенствания цикъл for.
Нека вземем друг пример за предаване на масиви на методи. В този пример сме внедрили два класа. Един клас съдържа метода за извикване main, докато другият клас съдържа метода за намиране на максималния елемент в масива.
И така, основният метод извиква метода в друг клас чрез предаване на масива на този метод 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 Изход:

Понякога резултатите от изчислението са нула или са празни. В този случай, през повечето време функциите връщат null. Когато са включени масиви, по-добре е да върнете празен масив вместо null. Това е така, защото методът за връщане на масива ще има последователност. Също така, повикващият не трябва да има специален код за обработка на нулеви стойности.
често задавани въпроси
В # 1) Предава ли Java масиви по референция?
въпрос и отговор на интервю за техническа поддръжка
Отговор: Да. Масивите по подразбиране се предават по препратка. Докато предаваме масива на функция, ние просто предоставяме името на масива, който оценява на началния адрес на масива.
В # 2) Защо масивите не се предават по стойност?
Отговор: Масивите не могат да се предават по стойност, тъй като името на масива, което се предава на метода, се изчислява на препратка.
В # 3) Може ли да се върне масив в Java?
Отговор: Да, можем да върнем масив в Java. Вече дадохме примери за връщане на масиви в този урок.
В # 4) Може ли метод да върне множество стойности?
Отговор: Според спецификациите Java методите не могат да върнат множество стойности. Но можем да имаме кръгови начини да симулираме връщане на множество стойности. Например, можем да върнем масиви, които имат множество стойности или колекции по този въпрос.
В # 5) Може ли методът да има два оператора Return в Java?
Отговор: Не. Java не позволява методът да има повече от една възвръщаема стойност.
Заключение
Java позволява масивите да се предават на метод като аргумент, както и да се връщат от метод. Масивите се предават на метода като референция.
Докато се извиква определен метод, се предава името на масива, което сочи към началния адрес на масива. По същия начин, когато масивът се връща от метод, връща се референцията.
В този урок обсъдихме подробно горните теми с примери. В следващите ни уроци ще разгледаме повече теми за масиви в Java.
=> Посетете тук за ексклузивната серия уроци за обучение по Java.
Препоръчително четене
- Урок за дължина на масив Java с примери за кодове
- Java Array - Как да отпечатвате елементи от масив в Java?
- Java Array - Декларирайте, създайте и инициализирайте масив в Java
- Java Generic Array - Как да симулираме Generic Array в Java?
- Урок за отражение на Java с примери
- Масив от обекти в Java: Как да създадете, инициализирате и използвате
- Java SWING Урок: Контейнер, компоненти и обработка на събития
- Урок за JAVA за начинаещи: 100+ практически ръководства за Java видео