1. Оператор return
Думаете вы уже выучили все про методы в Java? Как бы не так, вы еще и половины не знаете.
Начнем с чего-нибудь простого. Например, в Java есть команда (оператор) return, позволяющий мгновенно завершить метод, в котором он был вызван. Внешний вид команды:
return;
Все: просто одно слово return и точка с запятой. Как только программа выполнит эту команду, работа текущего метода тут же завершится, и продолжится работа вызвавшего метода.
Если return вызвать в методе main, метод main тут же завершится, а вместе с ним и вся программа.
Пример:
|
Метод fill заполняет часть переданного массива значением value.Часть массива определяется индексами from и to.Если from меньше 0 или to больше длины массива, метод тут же завершается. |
В приведенной выше программе есть метод fill, который заполняет переданный в него массив значением value, причем заполняет не весь массив, а его часть, заданную индексами from и to.
В начале метода fill проверяется, корректно ли переданы в него значения. Если from меньше 0, или to больше длины массива, то метод fill тут же завершается (вызывает команду return).
Полезная вещь этот оператор return: есть практически в каждом методе в Java, и вот почему.
2. Функции с результатом, void
Помните, мы когда-то разбирали, что есть команды, а есть выражения. И выражение, в отличие от команды, имеет значение, которое можно использовать где-нибудь.
Так вот, в Java методы могут иметь значение. И это очень хорошая новость: методы могут не просто что-то делать в зависимости от параметров, но и, например, вычислить что-нибудь и вернуть результат вычисления.
Вы, кстати, с такими методами уже сталкивались:
|
Метод abs() возвращает значение типа double |
|
Метод nextInt() возвращает значение типа int |
|
Метод toUpperCase() возвращает значение типа String |
|
Метод copyOf() возвращает значение типа int[] |
Каждый метод может вернуть только одно значение и одного заранее заданного типа. Тип возвращаемого значения определяется при объявлении метода:
public static тип имя(параметры)
{
код метода
}
Где имя — это имя метода, параметры — список параметров метода, а тип — тип результата, который возвращает метод.
Для методов, которые ничего не возвращают, есть специальный тип-заглушка — void.
Пишете свой метод и не хотите ничего возвращать вызывающему методу? Просто объявите тип метода void, и проблема решена. Таких методов в Java тоже много.
3. Возвращение результата
Как объявлять метод с результатом вычисления/работы мы только что разобрались, а как же этот результат вернуть из самого метода?
Для этого нам снова пригодится оператор return. Передача результата из метода будет выглядеть так:
return значение;
Где return — это оператор, который немедленно завершит работу метода. А значение — это значение, которое должен вернуть метод вызывающему методу в качестве результата. Тип значения обязан совпадать с типом, указанным при объявлении метода.
Пример 1. Метод вычисляет минимум из двух чисел:
|
Метод возвращает минимум из двух чисел. Если a < bвернуть aИначе вернуть b |
Пример 2. Метод дублирует переданную в него строку n раз:
|
Метод принимает два параметра — строку и количество ее повторений. Создается пустая строка для будущего результата. В цикле times разк строке result добавляется пробел и строка str.В качестве результата метода возвращается переменная result. |
Пример 3: Метод вычисляет максимум из двух чисел с помощью тернарного оператора:
|
Метод возвращает максимум из двух чисел. вернуть (если a > b, то a, иначе b) |
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ