Java break语句示例

时间:2020-01-09 10:34:47  来源:igfitidea点击:

有时我们可能需要在循环中继续执行下一个迭代而不执行语句,或者我们可能需要完全终止循环。对于这两种情况,Java提供了两个控制语句continue和break。在本文中,我们将详细介绍Java break语句以及用法示例。

Java中的Break语句

Java中的break语句具有以下三种用途

  • 退出循环–在循环中遇到break语句时,循环终止,并且控制权紧随循环后转移到该语句。
  • 在switch语句中,break语句也用于终止switch语句。
  • 与标签一起使用,用作" goto"语句–我们可以使用标签的break语句退出标签的块。

Java break语句示例

这是一些示例,显示了break语句退出循环的用法。通常,break语句与if-else语句一起使用。

1使用break语句摆脱无限while(true)循环。

在无限while(true)循环中,我们可以保留一个条件,当条件评估为true时,该条件终止循环。

public class BreakDemo {

	public static void main(String[] args) {
		int i = 1;
		while(true){
			if(i > 10)
				break;
			System.out.println("i- " + i);
			i++;
		}
	}
}

输出:

i- 1
i- 2
i- 3
i- 4
i- 5
i- 6
i- 7
i- 8
i- 9
i- 10

2将break语句与for循环一起使用。

public class BreakDemo {
  public static void main(String[] args) {
    for(int i = 1; i <= 10; i++){
      // break when value of i is 5
      if(i == 5){
        break;
      }
      System.out.println("i- " + i);
    }
  }
}

输出:

i- 1
i- 2
i- 3
i- 4

3将break语句与嵌套循环一起使用。
当break语句与嵌套循环一起使用时,它将退出使用范围的循环。

public class BreakDemo {

	public static void main(String[] args) {
		int rows = 3;
		for(int i = 1; i <= rows; i++){
			System.out.print("Column " + i + "- ");
			for(int j = 0; j < 10; j++){
				System.out.print(j);
				// break out of inner loop 
				if(j == 5)
					break;
			}
			System.out.println();                   
	    }
		
		System.out.println("Printed the lines...");
	}
}

输出:

Column 1- 012345
Column 2- 012345
Column 3- 012345
Printed the lines...

在这里,break语句在内部循环的范围内使用,因此当每次迭代中j的值为5时,它就会脱离for循环。

在下一个示例中,在外部for循环的范围内使用break语句,因此它脱离了该循环。

public class BreakDemo {

	public static void main(String[] args) {
		int rows = 6;
		for(int i = 0; i <= rows; i++){
			// break out of outer loop
			if (i == 3)
				break;
			System.out.print("Column " + i + "- ");
			for(int j = 0; j < 10; j++){
				System.out.print(j);
			}
			System.out.println();                   
	    }
		
		System.out.println("Printed the lines...");
	}
}

输出:

Column 0- 0123456789
Column 1- 0123456789
Column 2- 0123456789
Printed the lines...

Java标记的break语句

标记为break的语句可摆脱深层嵌套的循环。使用普通的break语句,即使在嵌套循环中,也可以脱离范围内的单个循环。使用标记的break语句,我们可以退出多个代码或者循环块,唯一的要求是标签必须包含break语句。

为了给代码块加标签,我们只需在代码块的开头放置一个标签(任何名称),后跟一个冒号。要突破该标签,我们将使用以下语句。

break label_name;

Java标记的break语句示例

在代码中,名为外部的标签与外部for循环一起使用。
外破时;语句执行时,它退出已标记语句的范围。

public class BreakDemo {

	public static void main(String[] args) {
		int rows = 6;
		// Using label
		outer:for(int i = 0; i <= rows; i++){
			System.out.print("Column " + i + "- ");
			for(int j = 0; j < 10; j++){
				// exits loop labelled outer 
				if(j == 5)
					break outer;
				System.out.print(j);
			}
			// Execution won't come here
			System.out.println();                   
	    }
		
		System.out.println("Printed the lines...");
	}
}

输出:

Column 0- 01234Printed the lines...

我们不一定需要循环即可使用标记的break语句,我们可以标记代码块,并使用带有label的break语句来突破那些标记的块。

public class BreakDemo {
  public static void main(String[] args) {
    boolean flag = true;
    firstLabel: {
      System.out.println("in first label block");
      secondLabel: {
        System.out.println("in second label block");
        thirdLabel: {
          System.out.println("in third label block");
          if(flag)
            break secondLabel;
          
        }
        System.out.println("Out of thirdLabel");
      }
      // control jumps here after the execution of break statement
      System.out.println("Out of secondLabel");
    }
    System.out.println("Out of firstLabel");
  }	
}

输出:

in first label block
in second label block
in third label block
Out of secondLabel
Out of firstLabel