Ответы:
Используйте return
ключевое слово для выхода из метода.
public void someMethod() {
//... a bunch of code ...
if (someCondition()) {
return;
}
//... otherwise do the following...
}
Из учебника по Java, на который я ссылался выше:
Любой метод, объявленный как void, не возвращает значения. Он не обязательно должен содержать оператор возврата, но может это сделать. В таком случае оператор return может использоваться для выхода из блока потока управления и выхода из метода, и его можно использовать просто следующим образом:
return;
Как вылезти в java ??
Ответ: Лучший способ: System.exit(0);
В языке Java есть три состояния перехода, которые позволяют прервать нормальный поток программы.
К ним относятся break , continue , return , помеченный оператор break, например
import java.util.Scanner;
class demo
{
public static void main(String args[])
{
outerLoop://Label
for(int i=1;i<=10;i++)
{
for(int j=1;j<=i;j++)
{
for(int k=1;k<=j;k++)
{
System.out.print(k+"\t");
break outerLoop;
}
System.out.println();
}
System.out.println();
}
}
}
Вывод: 1
Теперь обратите внимание на программу ниже:
import java.util.Scanner;
class demo
{
public static void main(String args[])
{
for(int i=1;i<=10;i++)
{
for(int j=1;j<=i;j++)
{
for(int k=1;k<=j;k++)
{
System.out.print(k+"\t");
break ;
}
}
System.out.println();
}
}
}
вывод:
1
11
111
1111
and so on upto
1111111111
Точно так же вы можете использовать оператор continue, просто замените break на continue в приведенном выше примере.
То, что нужно запомнить :
Метка case не может содержать выражения среды выполнения, включающие вызовы переменных или методов.
outerLoop:
Scanner s1=new Scanner(System.in);
int ans=s1.nextInt();
// Error s1 cannot be resolved
Если вы глубоко погружены в рекурсию внутри рекурсивного метода, вы можете выбрать исключение и перехватить исключение.
В отличие от Return, который возвращает только на один уровень выше, исключение выйдет из рекурсивного метода, а также в код, который его изначально вызвал, где его можно перехватить.
используйте return
для выхода из метода.
public void someMethod() {
//... a bunch of code ...
if (someCondition()) {
return;
}
//... otherwise do the following...
}
Вот еще пример
int price = quantity * 5;
if (hasCream) {
price=price + 1;
}
if (haschocolat) {
price=price + 2;
}
return price;