我的if语句中有一个带break语句的方法。该方法处于while循环中。如果我在方法的if语句中使用break,或者我必须使用nested loops,它是否会突破while循环?
public int x=0;public int y=0;
public boolean endCondition = true;
public void someMethod()
{
if(x!=y) {//do something}
else break;
}
while(endCondition==true)
{
this.someMethod();
}
System.out.println("Bloke");
答案 0 :(得分:1)
如果没有循环或break
,则无法使用switch
。您需要使用return
。但似乎是一种无休止的方法调用会导致 StackOverflow 异常。
答案 1 :(得分:0)
要从功能中突破,您必须使用return
。 break
会将你从你调用它的内部循环中解脱出来。
答案 2 :(得分:0)
您可能需要从方法返回一个布尔值,然后您可以使用该值来决定是否中断循环。
在这个简单的例子中并不重要,但在使用break
时标记循环通常是一个好主意,因此很明显你要突破什么,特别是在使用嵌套循环时。请参阅下面的标签FOO
。
public boolean someMethod()
{
if(x!=y)
{
//do something
return false;
}
return true; // break
}
FOO:while(true)
{
if(someMethod()) break FOO;
}