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) |
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ