Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Зачем методы в Java чтото возвращают?

Роман Шлифер Ученик (217), закрыт 4 года назад
Лучший ответ
Я Красавчег Мыслитель (9081) 4 года назад
Буду писать для си++, но для джава думаю это актуально.
Понятие возвращает присуще как методу класса так и функции что по сути очень похоже...
Возврат - означает что на месте функции (метода) где вы его использовали получиться результат, который вернул (а) метод (функция) словом return.
Пример тупой, но для наглядности
bool func()
{
return true;
}

if(func()) {...}

Здесь в примере как только сработает if оно вызовет функцию func та в свою очередь вернет значение true. Результат такого выражения получиться if(true){...}. То есть if сработает. И получается наглядно видно что вместо функции подставляется результат. Еще раз повторюсь что пример только для наглядности. Сейчас другой пример:
int add(int a, int b) { return a+b;}

if(add(5, 10) == 20) // такой if не сработает так как функция возвращает a+b а это получается 5+10 = 15. А 15 явно не равно 20

if(add(5, 15) == 20) // а такой if сработает так как результат возврата функции будет равен 20

Возврат функции и метода можно считать одним и тем же, за исключением что метод - это функция какого-то класса.

Короче на месте вызова функции подставится то, что было за словом return.
впы ыапывУченик (92) 4 года назад
у вас в с++ bool это числа с плавающей точкой??
Я Красавчег Мыслитель (9081) bool - boolean на джава, если не ошибаюсь. Тип возвращаемого значения и тип после return должны совпадать! type func() {return type} //тут type это какой то встроенный тип данных. Я таким образом показываю что тип, который идет после слова return и тип который идет в начале функции обязательно должен совпадать.
Роман ШлиферУченик (217) 4 года назад
Почемy нельзя просто написать:
String name = "Иван";
System.out.println(name);

Вместо;

String name;
String Ivan(){
return name;
}
Роман ШлиферУченик (217) 4 года назад
Всё равно непонятно, зачем нужно возвращать значение.
Я Красавчег Мыслитель (9081) int factorial(int n) { result = 1; for(int i=1; i <= n; i++) result *= i; return result; } Вот например написана функция для получения факториала. Про факториал читаем в интернете. И мне нужно использовать факториал в какой нибудь формуле, а не просто вывод на экран. Сама формула: (x+x!-y+y!) * z! (формула придумана от балды и кроме наглядности не несет никакой полезной нагрузки) При использовании функции я напишу что то вроде этого: a = (x+factorial(x)-y+factorial(y))*factorial(z); Если не использовать эту функцию то вам вначале придется каким то образом вычислить факториал трех чисел, а потом только подставить их в формулу. Возврат подразумевает что вместо factorial(x) подставиться то что было за словом return в этой функции. А там был результат вычислений.
Остальные ответы
Jurijus Zaksas Искусственный Интеллект (420194) 4 года назад
Они это делают далеко не всегда, но "если звезды зажигают - значит - это кому-нибудь нужно". Т. е. они возвращают некое значение для дальнейшего использования. Впрочем, использовать его тебя тоже никто не заставляет...
Роман ШлиферУченик (217) 4 года назад
То есть это просто так?
Роман ШлиферУченик (217) 4 года назад
Зачем нужен оператор return????Никак не могу понять!
Jurijus Zaksas Искусственный Интеллект (420194) Этот оператор прерывает выполнение метода и возвращает результат этого выполнения, если заголовок метода того требует. Нужен он, ЧСХ, чтобы прервать выполнение метода и вернуть результат. Допуслим, ты ищешь некий элемент списка по некоторому признаку. Твой метод будет перебирать элементы списка по одному, проверять признак, и как только такой элемент будет найден, ты сможешь сразу же его вернуть и дальше с ним работать в другом месте.
Похожие вопросы