Оператор return
Оператор return используется в языке Java для выполнения явного возврата из метода.
Если метод возвращает значение void , то оператор return не является необходимым. Его можно использовать при досрочном выходе из метода:
public class Return1 < public static void main(String[] args) < boolean t = true; System.out.println("Дo возврата."); if (t) < return; >System.out.println("Этот оператор выполняться не будет."); > >
Результат выполнения кода:
Дo возврата.
Если же в объявлении метода указано, что он возвращает какое-то значение, то оператор return необходим. После него указывается значение, возвращаемое из метода:
public class Return2 < public static void main(String[] args) < double d = getRandomValue(3); System.out.println(d); >public static double getRandomValue(int i) < return Math.random() * i; >>
Презентацию с видео можно скачать на Patreon .
Выход из метода и возврат значения
Чтобы прекратить выполнение метода, используют оператор return . Например, проверяем, является ли число положительным и чётным. Если число оказывается меньше или равно 0, метод прерывается и выводится соответствующий комментарий. Если число положительное, проверяем, чётное ли оно.
public static void main(String[] args) < checkIfPositiveEven(9); >public static void checkIfPositiveEven(int n) < if (n if (n%2 != 0) < System.out.println(n + " is not even."); return; >System.out.println(n + " is positive even."); >
9 is not even.
Метод может возвращать результат своих вычислений. Тип возвращаемого значения указывается при объявлении метода. Ключевое слово void обозначает, что метод не возвращает значение. Если тип возвращаемого значения метода — не void , то метод обязан вернуть значение. Для этого также используется оператор return .
public static void main(String[] args) < System.out.println( "Is number 92 greater than ten " + "by absolute value? " + isGreaterThanTenAbs(92)); >public static boolean isGreaterThanTenAbs(int n) < if (n >10) < return true; >if (n < -10) < return true; >return false; >
Вызов не-void’ового метода — это выражение. Например, выражение isGreaterThanTenAbs(1) имеет тип boolean , т. к. метод isGreaterThanTenAbs возвращает значения этого типа.
42
Объявите метод boolean isRemarkable(int n) , который вернёт true, если аргумент n равен сорока двум, и false в противном случае.
Запустить Сообщить об ошибке
Положительное, отрицательное, ноль
Напишите метод, который возвращает строку положительно , ноль или отрицательно в зависимости от того, какое число было передано.
Что такое return в Java?
Оператор return используется в функциях для возвращения данных после выполнения работы самой функции.
Если функция должна обработать какие-то данные и потом вернуть их, то для возвращения этих данных необходим этот оператор. Рассмотрим все на примере:
class Main < public static void main(String[] args) < int res = some_test(4, 6, 1); System.out.println(res); >public static int some_test(int a, int b, int c) < // Функция с 3 параметрами return a + b + c; // Функция возвращает результат суммы чисел >>
В примере выше вызывается функция, которая считает сумму трех переданных аргументов. В конце функция возвращает это значение, поэтому мы можем записать функцию, как присвоение данных к переменной. В результате этой программы в консоль будет выведено число 11.
Комментарии (4)
Женя 15 мая 2023 в 12:00
Зачем возвращать метод в java
Методы могут возвращать некоторое значение. Для этого применяется оператор return .
return возвращаемое_значение;
После оператора return указывается возвращаемое значение, которое является результатом метода. Это может быть литеральное значение, значение переменной или какого-то сложного выражения.
public class Program < public static void main (String args[])< int x = sum(1, 2, 3); int y = sum(1, 4, 9); System.out.println(x); // 6 System.out.println(y); // 14 >static int sum(int a, int b, int c) < return a + b + c; >>
В методе в качестве типа возвращаемого значения вместо void используется любой другой тип. В данном случае метод sum возвращает значение типа int , поэтому этот тип указывается перед названием метода. Причем если в качестве возвращаемого типа для метода определен любой другой, отличный от void , то метод обязательно должен использовать оператор return для возвращения значения.
При этом возвращаемое значение всегда должно иметь тот же тип, что значится в определении функции. И если функция возвращает значение типа int , то после оператора return стоит целочисленное значение, которое является объектом типа int . Как в данном случае это сумма значений параметров метода.
Метод может использовать несколько вызовов оператора return для возваращения разных значений в зависимости от некоторых условий:
public class Program < public static void main (String args[])< System.out.println(daytime(7)); // Good morning System.out.println(daytime(13)); // Good after noon System.out.println(daytime(18)); // Good evening System.out.println(daytime(2)); // Good night >static String daytime(int hour)< if (hour >24 || hour < 0) return "Invalid data"; else if(hour >21 || hour < 6) return "Good night"; else if(hour >= 15) return "Good evening"; else if(hour >= 11) return "Good after noon"; else return "Good morning"; > >
Здесь метод daytime возвращает значение типа String, то есть строку, и в зависимости от значения параметра hour возвращаемая строка будет различаться.
Выход из метода
Оператор return применяется для возвращаения значения из метода, но и для выхода из метода. В подобном качестве оператор return применяется в методах, которые ничего не возвращают, то есть имеют тип void :
public class Program < public static void main (String args[])< daytime(7); // Good morning daytime(13); // Good after noon daytime(32); // daytime(56); // daytime(2); // Good night >static void daytime(int hour)< if (hour >24 || hour < 0) return; if(hour >21 || hour < 6) System.out.println("Good night"); else if(hour >= 15) System.out.println("Good evening"); else if(hour >= 11) System.out.println("Good after noon"); else System.out.println("Good morning"); > >
Если переданное в метод datetime значение больше 24 или меньше 0, то просто выходим из метода. Возвращаемое значение после return указывать в этом случае не нужно.
