任何的循环结构(while | for | do...while)都离不开4个必要因素:
1) 控制变量;
2) 变量初值;
3) 变量增值;
4) 终止条件。
对于for结构来说,通过break或continue进行不带label的跳出或继续:
continue不可避免的要进行变量增值,要不死循环,有点类型while结构中末尾必须的变量增值;break直接跳出,控制变量的值为跳出时的赋值。
对于带label的for结构来说:
continue只对label那个循环进行变量增值;break直接跳出。

public class BreakTest
{

public static void main(String[] args)
{
String output = "";
int count;

for (count = 1; count <= 10; count++)
{
if (count == 5)
break;
output += count + " ";
}
output += "\nBroke out of loop at count = " + count;
JOptionPane.showMessageDialog(null, output);
System.exit(0);
}
}
import javax.swing.JOptionPane;

public class BreakTest
{

public static void main(String[] args)
{
String output = "";
int count;

for (count = 1; count <= 10; count++)
{
if (count == 5)
break;
output += count + " ";
}
output += "\nBroke out of loop at count = " + count;
JOptionPane.showMessageDialog(null, output);
System.exit(0);
}
}
import javax.swing.JOptionPane;
public class ContinueTest {
public static void main(String[] args) {
String output = "";
int count;
for (count = 1; count <= 10; count++) {
if (count == 5)
continue;
output += count + " ";
}
output += "\nUsed continue to skip printing 5";
JOptionPane.showMessageDialog(null, output);
System.exit(0);
}
}
推算下面程序的结果!

public class LabeledFor
{
public static void main(String[] args)
{
int i = 0;
outer:// Can't have statements here
for(; true ;)
{ // infinite loop
inner: // Can't hava statements
for(; i < 10; i++)
{
System.out.println("i = " + i);
if(i == 2)
{
System.out.println("continue");
continue;
}
if(i == 3)
{
System.out.println("break");
i++; // Otherwise i never gets increamented.
break;
}
if(i == 7)
{
System.out.println("continue outer");
i++;// Otherwise i never gets increamented.
continue outer;
}
if(i == 8)
{
System.out.println("break outer");
break outer;
}

for(int k =0; k < 5; k++)
{
if(k == 3)
{
System.out.println("continue inner");
continue inner;
}
}
}
}
}
}

浙公网安备 33010602011771号