2016-11-06 15 views
1

Я изучаю Java, и из того, что я узнал, является то, что вам нужно указать значение, возвращаемое функцией. Если оно не возвращает значение, то оно недействительно. Однако в нижеприведенной программе я могу изменить значения массива из функции void. Может ли кто-нибудь объяснить это мне, пожалуйста?Возвращаемое значение функции void

public class ArraysInMethods { 
    public static void main(String args[]){ 
     int rd[] = {2,3,4,5,6}; 
     change(rd); 

     for(int y: rd){ 
      System.out.println(y); 
     } 

    } 

    public static void change(int x[]){ 
     for(int counter = 0; counter<x.length;counter++){ 
      x[counter]+=5; 
     } 
    } 

} 

ответ

3

Я учусь Java, и от того, что я узнал, что вам необходимо указать значение, что возврат функции.

Это верно только для методов, возвращающих значения, то есть методы, отличные от void. Эти методы определяют выражения , а void методы определяют заявления.

Вызов вашего метода change является утверждением в том смысле, что ему не хватает возвращаемых значений. Это не означает, однако, что он не может изменить состояние вашей запущенной программы - например, дать переменные переменные.

Однако в нижеприведенной программе я могу изменить значения массива из функции void.

Вы не возвращаете значение из своей функции void; все, что вы делаете, - это изменение массива на месте. Это разрешено, поскольку массивы передаются по ссылке.

+0

Благодарим вас за разъяснение – JDOE

Смежные вопросы