我想保持简短。返回true
后会发生什么?是否会停止for
- 循环并返回do
- while
循环?我很困惑;请提供详细说明。
for (int i = 0; i < 6; i++)
{
int pick;
do
{
pick = (int) Math.floor(Math.random() * 50 + 1);
}
while (numberGone(pick, gui.numbers, i));
gui.numbers[i].setText("" + pick);
}
boolean numberGone(int num, JTextField[] pastNums, int count)
{
for (int i = 0; i < count; i++)
{
if (Integer.parseInt(pastNums[i].getText()) == num)
{
return true;
}
}
return false;
}
答案 0 :(得分:2)
一旦方法遇到第一个return
语句,方法就会返回控件。 return
语句之后的任何代码都不会被执行。所以在你的代码中:
boolean numberGone(int num, JTextField[] pastNums, int count)
{
for (int i = 0; i < count; i++)
{
if (Integer.parseInt(pastNums[i].getText()) == num)
{
// if this is executed, execution of this method will return from here
return true;
}
}
// this will be executed only when if statement is not executed and for loop finishes gracefully
return false;
}
注意:如果您不想在满足if条件时从方法返回并只是结束循环,那么请使用break
而不是return
。
答案 1 :(得分:0)
当遇到return
语句时,该函数总是退出。之后不会发表声明
唯一的例外是try catch finally
阻止
始终会执行finally
阻止,无论是否遇到return
。