任何的循环结构(while | for | do...while)都离不开4个必要因素:
1) 控制变量;
2) 变量初值;
3) 变量增值;
4) 终止条件。
对于for结构来说,通过break或continue进行不带label的跳出或继续:
continue不可避免的要进行 变量增值,要不死循环,有点类型while结构中末尾必须的 变量增值;break直接跳出, 控制变量的值为跳出时的赋值。
对于带label的for结构来说:
continue只对label那个循环进行 变量增值;break直接跳出。
推算下面程序的结果!
1) 控制变量;
2) 变量初值;
3) 变量增值;
4) 终止条件。
对于for结构来说,通过break或continue进行不带label的跳出或继续:
continue不可避免的要进行 变量增值,要不死循环,有点类型while结构中末尾必须的 变量增值;break直接跳出, 控制变量的值为跳出时的赋值。
对于带label的for结构来说:
continue只对label那个循环进行 变量增值;break直接跳出。
- 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, final count: " + count;
- 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;
- }
- }
- }
- }
- }
- }