zoukankan      html  css  js  c++  java
  • java学习之break 和 continue

    java当中比较特殊的两个关键字:break,continue.从字面意思来看的话break就是打断的意思,而continue就是继续的意思。

    这两个关键词用途范围是很明确的:

      break:只能用在switch语句或者循环语句当中,除此之外不能单独应用,否则编译的时候会报错:

          

      continue:它的应用范围要比break小一层,有且只能用在循环语句当中。

    1、break:

      作用:break的作用是结束switch语句,还有跳出当前的循环体,如果有标签的话,则挑出指定标签的循环体。

      

    int a  = 1;
    
    switch(a){
    
        case 1:
        System.out.println("星期一");
        break;
        
        case 2:
        System.out.println("星期二");
        break;
    
        default:
        System.out.print("No match");
        break;    
    
    
    }
    

      这里的break是指取消对其他选项的判断,跳出switch语句。

      break在循环体当中的应用:

    int i = 0;
    while(i<3){ System.out.println("i is "+i); break; i++; }

      这个程序的输出结果为0;之后因为有break语句便跳出循环。

    程序示例2:

      

    int i = 0;
    while(i<3){
     
      break;
      System.out.println("i"+i);
      i++;     
     
    }
    

      当我们这样写的时候,编译时会抛出"无法执行到的语句:xxxx“,也就是说,这样写的程序是没有任何意义的,因为System.out.print语句永远都执行不到。这也是java异常处理机制比较好的一方面,提示的信息非常的详细。再循环体内,break;语句之后不能写其他语句,否则编译时就会报错。

    程序示例3:

    int i = 0;
    while(i<3){
    
      break;  
    
    }
    

      当我们这样写的时候,编译和执行都能够通过,但是显然这样写,没有任何意义。

    程序示例4:

    int i = 0;
    
    break;
    

      此时我们拿程序去编译的时候,会提示你”在switch 或 loop 外中断",编译失败。也就是说break只能出现在switch语句或者循环语句当中。

    2、嵌套循环下 break; 语句的具体表现:

    for(int i = 0; i <= 3 ; i++){
    
      for(int b = 0; b<=3; b++){
       
        System.out.println("b");
    
        break;
    
      }  
    
    
    }
    

      编译运行此程序,我们可以得到:

    而不是:

    也就是说break;语句只是跳出当前的循环体,在没有标识标签的情况下。

    3、带标签的break表现:

      程序代码如下:

    class ForFor{
    
    	public static void main(String[] args) {
    		
    
    		out:for (int i = 0; i<=3 ; i++ ) {
    			
    
    			for(int b = 0; b<=3 ; b++){
    
    				System.out.println("b");
    				break out;
    
    			}
    
    
    		}
    
    	
    	}
    
    }
    

      此时程序输出的结果就只有一个"b"。也就是此时break 跳出指定标签的循环体。

    Continue;语句:

      作用:跳出当前循环,进行下次循环

      continue语句只能用于循环体当中,当用在普通语句当中时:

    代码示例1、 

    class ForFor{
    
    	public static void main(String[] args) {
    		
    
    		int a = 10;
    
    		continue;
    
    	
    	}
    
    }
    

      编译时,就会报"continue 在循环外部“。

    代码示例2、

    class ForFor{
    
    	public static void main(String[] args) {
    		
    
    		for(int i = 0; i<=13 ; i++){
    
    			if(i%2 == 0){
    
    				System.out.println(i);
    
    			}
    			continue;
                  //System.out.println(i++); } } }

      输出的结果就是2的倍数,如果continue;之后跟语句System.out.println|(i++),则编译时会提示程序执行不到的编译错误。

    代码示例3、

    class ForFor{
    
    	public static void main(String[] args) {
    		
    
    		for(int i = 0; i<=13 ; i++){
    
    			if(i%2 == 0){
    
    				System.out.println(i);
    				continue;
    
    			}
    			
    			System.out.println(i++);
    
    		}
    
    	
    	}
    
    }
    

      但是如果我们把程序改成上述的代码之后,那么此时代码就可以完全执行。因为continue;语句之后没有跟任何语句。同样 break语句 也可以放到if语句当中,这样后面跟其他语句的话就不会再报错了。因为当break或者continue在if语句当中的时候,是被包括在其中,break.continue是被包裹着的,所以不会报错。

    程序示例4、

      continue语句后也是可以带标签的,比如:

    class ForFor{
    
    	public static void main(String[] args) {
    		
    
    		out:for(int i = 0; i<=13 ; i++){
    
    			for(int a = 0; a<=5; a++){
    
    				if(i%2 == 0){
    
    					System.out.println(i);
    					continue out;
    
    				}
    				
    				System.out.print(a);
    				//System.out.println(i*i);
    			}		
    
    		}
    	
    	}
    
    }
    

      当条件满足即(i%2 == 0)的时候,continue就会跳到i++,继续执行。也叫跳出当前循环体,跳到指定标签的循环体,继续循环。

  • 相关阅读:
    阅读编程书籍的方法(转)
    Java 面向对象概念
    Python 统计文本中单词的个数
    Python 学习笔记(五)杂项
    在CentOS7环境下部署TiDB
    前端学习之路:第三章、来做个天气应用吧(1)
    前端学习之路:第二章、Vue-router和axios
    前端学习之路:第一章、开始使用Vue
    在Docker下搭建Apache+PHP+mysql环境的过程记录
    在基于Windows系统的PHP后端中引入Redis
  • 原文地址:https://www.cnblogs.com/sunchuanzhen/p/3317964.html
Copyright © 2011-2022 走看看