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学习之break 和 continue的更多相关文章

  1. Java中的break和continue关键字使用总结

    java中的break和continue关键字使用总结   一.作用和区别   break的作用是跳出当前循环块(for.while.do while)或程序块(switch).在循环块中的作用是跳出 ...

  2. JAVA中的break[标签]continue[标签]用法

    原文:JAVA中的break[标签]continue[标签]用法 注意:JAVA中的标签必须放在循环之前,且中间不能有其他语句.例如:tag:for或while或do--while; 1.使用brea ...

  3. Java中的break,continue关于标签的用法(转载)

    Java的控制循环结构中是没有关键字goto的,这种做法有它的好处,它提高了程序流程控制的可读性,但是也有不好的地方,它降低了程序流程控制的灵活性,所以说,“上帝是公平的”.所以,Java为了弥补这方 ...

  4. Java中的break和continue以及标签

    一.Java中的break,continue,goto 首先break,continue是Java中的关键字,而goto是保留字. 基于goto在c和c++中的鬼畜表现,我觉得goto可能还会长期在J ...

  5. Java SE之break和continue标签

    文是学习网络上的文章时的总结,感谢大家无私的分享. Java没有提供goto功能,可是保留了gotokeyword. 在java中能够使用break标签和continue标签功能实现简版的goto功能 ...

  6. java中的break与continue

    1.两者的作用 break:是跳出当前的循环块或者程序块.循环块有for.do while.while,程序块有switch(){case 1: xxx;break;}在循环体中的作用是跳出正在循环的 ...

  7. Java中的break与continue区别

    break跳出当前循环执行循环下面的程序, 如果break出现在嵌套循环的内层循环, 则break语句只会跳出当前层的循环; 当程序执行到continue时时, 则跳过本次循环程序重新回到循环开始继续 ...

  8. 吴裕雄--天生自然 JAVASCRIPT开发学习: Break 和 Continue 语句

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. python学习之break和continue在for循环中的使用(案例:打印出10以内的偶数,并且只要前三个偶数)

    运行程序,break是整个程序都跳出 continue则表示跳过当前一次循环,然后继续执行循环

随机推荐

  1. Qt 学习之路 :视图代理

    与 Qt model/view 架构类似,在自定义用户界面中,代理扮演着重要的角色.模型中的每一个数据项都要通过一个代理向用户展示,事实上,用户看到的可视部分就是代理. 每一个代理都可以访问一系列属性 ...

  2. Android微信智能心跳方案

    前言:在13年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援.刚到广州的时候,Ray让我和春哥对Line和WhatsApp的心跳机制进行分析.我和春哥抓包测试了差不多两个多礼拜 ...

  3. android开发之调试技巧 分类: android 学习笔记 2015-07-18 21:30 140人阅读 评论(0) 收藏

    我们都知道,android的调试打了断点之后运行时要使用debug as->android application 但是这样的运行效率非常低,那么我们有没有快速的方法呢? 当然有. 我们打完断点 ...

  4. Creating Custom Shadows ——创建自定义shadow

    Custom shadows are a Robolectric feature that allows you to make targeted changes in the way Android ...

  5. ZOJ 3898 - Stean 积分

    有一个陶罐,陶罐是由函数Y=2+cosX,截取x=Z1到x=Z2段后,形成的旋转体,陶罐只有底x=Z1,没有盖子. 问陶罐能乘多少的水(体积),以及它的表面积 体积还是比较好求的,直接用旋转体体积公式 ...

  6. webservice 发布到外网的时候

    在web.config的<system.web></system.web>中间加入如下配置节内容<webServices>          <protoco ...

  7. teamview centos 配置

    1.下载teamview centos版本,本人喜欢tar.gz版本,但是官网只有rpm版本,附件中即为官网下载的teamview11 官方下载地址:https://www.teamviewer.co ...

  8. O2O的理解

    O2O 就是把线上和线下的优势完美结合,网上优惠价格,线下享受贴身服务!O2O 还可以实现不同商家的联盟 两年前的微博营销,现在没落了,那么微信营销呢,只能说来的太快了.线上来筛选服务和产品,所有的交 ...

  9. 国人编写的开源 .net Ioc 框架——My.Ioc 简介

    My.Ioc 是作者开发的一款开源 IoC/DI 框架,下载地址在此处.它具有下面一些特点: 高效 在实现手段上,My.Ioc 通过使用泛型.缓存.动态生成代码.延迟注册.尽量使用抽象类而非接口等方式 ...

  10. Oracle (内连接)

    例如: 表xuesheng id name 1, Jack 2, Tom 3, Kity 4, nono 表kaoshi id grade 1, 56 2, 76 11, 89 内连接(显示两表匹配的 ...