Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Что делает "Return" в Java?


Автор: javanovichok 20.10.2009, 06:18
/** Return a String representation of a Point */
public String toString() 

Что делает "Return" в Java?
Какая разница с  Return или без него метод?

Автор: jManiak 20.10.2009, 06:53
Это значит будет ли возвращать что-то метод после своего выполнения или нет.
Например: функция которая используется для получения координат public point getXY();
Когда тело функции выполнится, в выходном параметре типа point будут находиться как раз координаты чего-то.
А если функция просто что-то делает, но каких-то конеретных значений не должна возвращать, то делается без выходного параметра: public void refreshScreen();, например перерисовывает экран.

Автор: ivanovpv 20.10.2009, 08:03
Цитата(javanovichok @  20.10.2009,  06:18 Найти цитируемый пост)
Что делает "Return" в Java?
Какая разница с  Return или без него метод? 


а Если быть точнее то не "Return", а "return"
б) return имеет два значения/смысла
       1) Возвращает из функции/метода некое значение с типом описанным в декларации метода/функции
       2) Обозначает точку выхода из метода/функции - например, точек выхода может быть несколько
в) Функция может не иметь явного вызова return, но это возможно только для void функций - то есть функций без возвращаемого значения. Неявно return в этом случае все равно есть и располагается после последнего исполняемого оператора в функции

Автор: javanovichok 20.10.2009, 17:09
Спасибо за полезные ответы.

А вообще, простым языком, куда что и зачем возвращать? Что меняется если не возвращать?
Я не понимаю что куда возвращается в JAVA и вообще в программировании.
раньше никогда не занимался и этим и пришлось начать программирование с JAVA.

Автор: AxNe0 20.10.2009, 18:30
Постараюсь простым языком. У тебя имеется какой-то набор действий, который ты хочешь совершить. Этот набор - называется в джаве методом. В зависимости от того, что ты хочешь получить после этих действий (строку, число, объект или ничего) ты решаешь что должен возвращать этот метод. 

Если возвращать "ничего" (или, попросту говоря, ничего не возвращать), то ничего не меняется, программа просто выполняет какие-то операции и успешно о них "забывает". Например, печатает на экране приветствие:
Код

public void printHello() {
    System.out.println("Hello");
}


Если ты в одном методе хочешь получить сумму двух чисел, то имеет смысл в методе summ() возвращать число:
Код

public int summ(int a1, int a2) {
    return a1 + a2;
}

И соответственно, вызов этого метода будет выглядеть так:
Код

...
    int result = summ(2, 3);
...

В итоге, переменная result будет иметь значение 5.




Автор: jManiak 21.10.2009, 04:12
Автор, не советую начинать изучать программирование с Java.

Автор: Skynin 21.10.2009, 10:29
Цитата(javanovichok @ 20.10.2009,  17:09)
Я не понимаю что куда возвращается в JAVA и вообще в программировании.

Не знаю такого доходчивого объяснения для Java, но вот для Си:

http://lib.ru/CTOTOR/starterkit.txt#10
Почти точно также и в Java методы, так что можно читать "заменяя" в тексте слово "функции" на "методы"

http://lib.ru/CTOTOR/starterkit.txt#26

Автор: ivanovpv 21.10.2009, 12:49
Цитата(javanovichok @  20.10.2009,  17:09 Найти цитируемый пост)
А вообще, простым языком, куда что и зачем возвращать? Что меняется если не возвращать?
Я не понимаю что куда возвращается в JAVA и вообще в программировании.
раньше никогда не занимался и этим и пришлось начать программирование с JAVA. 


Пример бы попроще придумать то какой... Допустим вы пишете письмо своему другу прислать ему посылкой колбасу. Ваш друг это функция, ваше письмо вызов функции, а колбаса, то что друг положит в return  smile, а вы сами тот кто вызвал функцию (написал другу письмо) и соответственно тот кто получит колбасу (получит return).

А void функция - это когда функция ничего не возвращает - ну скажем вы пишете другу простое письмо и ничего не просите прислать.

Прочитал, жесть какая-то  smile 

Автор: javanovichok 21.10.2009, 16:54
AxNe0 - Спасибо. Это хорошо объясняет. Вам нужно преподавать.
jManiak - Нет выбора. Это программа универа. Я изучаю другое но должен пройти это.
ivanovpv - Хорошо объяснено. Спасибо. Ато учу на англиском совершенно новый предмет и крыша едет чуть.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)