-4

我的 if 语句中有一个带有 break 语句的方法。该方法在一个while循环中。如果我在方法的 if 语句中使用 break 或者我必须使用嵌套循环,它会跳出 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");
4

3 回答 3

1

如果break没有循环或switch. 你需要使用return. 但这似乎是一个无休止的方法调用,会导致StackOverflow异常。

于 2012-10-14T18:14:24.797 回答
0

You probably need to return a boolean value from the method, which you can then use to decide whether to break the loop.

It's not important in this simple example, but it's usually a good idea to label your loops when using break, so it's clear what you are breaking out of, especially when using nested loops. See the label FOO below.

public boolean someMethod()
{
  if(x!=y) 
  {
    //do something
    return false;
  }
  return true; // break
} 

FOO:while(true)
{ 
  if(someMethod()) break FOO;
}
于 2012-10-14T19:09:44.897 回答
0

要从一个功能中脱颖而出,您必须使用return. break只会让你从你调用它的内部循环中脱离出来。

于 2012-10-14T18:22:52.503 回答