原文地址:http://blog.csdn.net/luoweifu/article/details/10756017

break

break可用于循环和switch...case...语句中。

用于switch...case中:

执行完满足case条件的内容内后结束switch,不执行下面的语句。

eg:

  1. public static void breakSwitch1() {
  2. int n = 1;
  3. switch (n) {
  4. case 1:
  5. System.out.println("this is one.");
  6. break;
  7. case 2:
  8. System.out.println("this is two.");
  9. break;
  10. default:
  11. System.out.println("Others.");
  12. }
  13. }

结果:

this is one.

eg2:

  1. public static void breakSwitch2() {
  2. int n = 1;
  3. switch (n) {
  4. case 1:
  5. System.out.println("this is one.");
  6. //break;
  7. case 2:
  8. System.out.println("this is two.");
  9. break;
  10. default:
  11. System.out.println("Others.");
  12. }
  13. }

结果:

this is one.

this is two.

用于循环中

break;  结束本层循环。

eg:

  1. public static void breakTest1() {
  2. System.out.println("begin to circulating.");
  3. for (int i = 0; i < 5; i++) {
  4. for (int j = 0; j < 5; j++) {
  5. if (i == 2 && j==3) {
  6. System.out.println("break is executed!");
  7. break;
  8. }
  9. System.out.print(i + "*" + j + "=" + i * j + "    ");
  10. }
  11. System.out.println();
  12. }
  13. }

结果:

begin to circulating.

0*0=0    0*1=0    0*2=0    0*3=0    0*4=0

1*0=0    1*1=1    1*2=2    1*3=3    1*4=4

2*0=0    2*1=2    2*2=4    break is executed!

3*0=0    3*1=3    3*2=6    3*3=9    3*4=12

4*0=0    4*1=4    4*2=8    4*3=12    4*4=16

break [flag];  结束带有[flag]标记层到本层的所有循环。

eg1:

  1. public static void breakTest2() {
  2. System.out.println("begin to circulating.");
  3. loop:for (int i = 0; i < 5; i++) {
  4. for (int j = 0; j < 5; j++) {
  5. if (i == 2 && j==3) {
  6. System.out.println("break is executed!");
  7. break loop;
  8. }
  9. System.out.print(i + "*" + j + "=" + i * j + "    ");
  10. }
  11. System.out.println();
  12. }
  13. }

结果:

begin to circulating.

0*0=0    0*1=0    0*2=0    0*3=0    0*4=0

1*0=0    1*1=1    1*2=2    1*3=3    1*4=4

2*0=0    2*1=2    2*2=4    break is executed!

eg2:

  1. public static void breakTest3() {
  2. loop: for (int i = 0; i < 5; i++) {
  3. for (int j = 0; j < 5; j++) {
  4. System.out.print("level " + i + ":");
  5. for (int k = 0; k < 5; k++) {
  6. if (i == 1 && j == 2 && k == 3) {
  7. break loop;
  8. }
  9. System.out.print(i + "+" + j + "+" + k + "=" + i + j + k
  10. + "    ");
  11. }
  12. System.out.println("    ");
  13. }
  14. System.out.println();
  15. }
  16. }

结果

level 0:0+0+0=000    0+0+1=001    0+0+2=002    0+0+3=003    0+0+4=004

level 0:0+1+0=010    0+1+1=011    0+1+2=012    0+1+3=013    0+1+4=014

level 0:0+2+0=020    0+2+1=021    0+2+2=022    0+2+3=023    0+2+4=024

level 0:0+3+0=030    0+3+1=031    0+3+2=032    0+3+3=033    0+3+4=034

level 0:0+4+0=040    0+4+1=041    0+4+2=042    0+4+3=043    0+4+4=044

level 1:1+0+0=100    1+0+1=101    1+0+2=102    1+0+3=103    1+0+4=104

level 1:1+1+0=110    1+1+1=111    1+1+2=112    1+1+3=113    1+1+4=114

level 1:1+2+0=120    1+2+1=121    1+2+2=122

continue

continue; 结束本层的本次循环。

eg1:

  1. public static void continueTest1() {
  2. for (int i = 0; i < 10; i++) {
  3. if (i == 6) {
  4. continue;
  5. }
  6. System.out.print(i + "    ");
  7. }
  8. }

结果:

0    1    2    3    4    5    7    8    9

eg2:

  1. public static void continueTest2() {
  2. for (int i = 0; i < 5; i++) {
  3. for (int j = 0; j < 5; j++) {
  4. if (i == 2 && j == 3) {
  5. continue;
  6. }
  7. System.out.print(i + "*" + j + "=" + i * j + "    ");
  8. }
  9. System.out.println();

结果:

0*0=0    0*1=0    0*2=0    0*3=0    0*4=0

1*0=0    1*1=1    1*2=2    1*3=3    1*4=4

2*0=0    2*1=2    2*2=4    2*4=8

3*0=0    3*1=3    3*2=6    3*3=9    3*4=12

4*0=0    4*1=4    4*2=8    4*3=12    4*4=1

continue[flag];  结束带有[flag]标记层的本次循环,且终止[flag]层以内的层在[flag]标记层本次循环下的循环。有点绕口,也很难表述清楚,直接看例子吧:

eg1:

  1. public static void continueTest3() {
  2. loop: for (int i = 0; i < 10; i++) {
  3. for (int j = 0; j < 10; j++) {
  4. if (i == 3 && j == 4) {
  5. continue loop;
  6. }
  7. System.out.print(i + "*" + j + "=" + i * j + "    ");
  8. }
  9. System.out.println();
  10. }
  11. }

结果

0*0=0    0*1=0    0*2=0    0*3=0    0*4=0    0*5=0    0*6=0    0*7=0    0*8=0    0*9=0

1*0=0    1*1=1    1*2=2    1*3=3    1*4=4    1*5=5    1*6=6    1*7=7    1*8=8    1*9=9

2*0=0    2*1=2    2*2=4    2*3=6    2*4=8    2*5=10    2*6=12    2*7=14    2*8=16    2*9=18

3*0=0    3*1=3    3*2=6    3*3=9    4*0=0    4*1=4    4*2=8    4*3=12    4*4=16    4*5=20    4*6=24    4*7=28    4*8=32    4*9=36

5*0=0    5*1=5    5*2=10    5*3=15    5*4=20    5*5=25    5*6=30    5*7=35    5*8=40    5*9=45

6*0=0    6*1=6    6*2=12    6*3=18    6*4=24    6*5=30    6*6=36    6*7=42    6*8=48    6*9=54

7*0=0    7*1=7    7*2=14    7*3=21    7*4=28    7*5=35    7*6=42    7*7=49    7*8=56    7*9=63

8*0=0    8*1=8    8*2=16    8*3=24    8*4=32    8*5=40    8*6=48    8*7=56    8*8=64    8*9=72

9*0=0    9*1=9    9*2=18    9*3=27    9*4=36    9*5=45    9*6=54    9*7=63    9*8=72    9*9=81

eg2:

  1. public static void continueTest4() {
  2. loop: for (int i = 0; i < 5; i++) {
  3. for (int j = 0; j < 5; j++) {
  4. System.out.print("level " + i + ":");
  5. for (int k = 0; k < 5; k++) {
  6. if (i == 1 && j == 2 && k == 3) {
  7. continue loop;
  8. }
  9. System.out.print(i + "+" + j + "+" + k + "=" + i + j + k
  10. + "    ");
  11. }
  12. System.out.println("    ");
  13. }
  14. System.out.println();
  15. }
  16. }

结果:

level 0:0+0+0=000    0+0+1=001    0+0+2=002    0+0+3=003    0+0+4=004

level 0:0+1+0=010    0+1+1=011    0+1+2=012    0+1+3=013    0+1+4=014

level 0:0+2+0=020    0+2+1=021    0+2+2=022    0+2+3=023    0+2+4=024

level 0:0+3+0=030    0+3+1=031    0+3+2=032    0+3+3=033    0+3+4=034

level 0:0+4+0=040    0+4+1=041    0+4+2=042    0+4+3=043    0+4+4=044

level 1:1+0+0=100    1+0+1=101    1+0+2=102    1+0+3=103    1+0+4=104

level 1:1+1+0=110    1+1+1=111    1+1+2=112    1+1+3=113    1+1+4=114

level 1:1+2+0=120    1+2+1=121    1+2+2=122    level 2:2+0+0=200    2+0+1=201    2+0+2=202    2+0+3=203    2+0+4=204

level 2:2+1+0=210    2+1+1=211    2+1+2=212    2+1+3=213    2+1+4=214

level 2:2+2+0=220    2+2+1=221    2+2+2=222    2+2+3=223    2+2+4=224

level 2:2+3+0=230    2+3+1=231    2+3+2=232    2+3+3=233    2+3+4=234

level 2:2+4+0=240    2+4+1=241    2+4+2=242    2+4+3=243    2+4+4=244

level 3:3+0+0=300    3+0+1=301    3+0+2=302    3+0+3=303    3+0+4=304

level 3:3+1+0=310    3+1+1=311    3+1+2=312    3+1+3=313    3+1+4=314

level 3:3+2+0=320    3+2+1=321    3+2+2=322    3+2+3=323    3+2+4=324

level 3:3+3+0=330    3+3+1=331    3+3+2=332    3+3+3=333    3+3+4=334

level 3:3+4+0=340    3+4+1=341    3+4+2=342    3+4+3=343    3+4+4=344

level 4:4+0+0=400    4+0+1=401    4+0+2=402    4+0+3=403    4+0+4=404

level 4:4+1+0=410    4+1+1=411    4+1+2=412    4+1+3=413    4+1+4=414

level 4:4+2+0=420    4+2+1=421    4+2+2=422    4+2+3=423    4+2+4=424

level 4:4+3+0=430    4+3+1=431    4+3+2=432    4+3+3=433    4+3+4=434

level 4:4+4+0=440    4+4+1=441    4+4+2=442    4+4+3=443    4+4+4=444

PS

突然记得我以前用C语言写过类似的程序,并传到了百度库中。后来找来看了一下,发现写的好简单,但当时硬是写了大半天,而且写完之后还特别高兴,觉得这就是我的杰作,并传到了百度文库中……那时是刚上大学,在读大一刚入门的时候写的。程序员就是这样,总是沉醉于自己的作品之中,那怕是很简单,只要是在进步,把自己不会的东西写出来了,就特别高兴,这也是我们不断努力的动力啊!

有几个例子还是挺有意思的,拿出来秀一下:

例1:输入一批考试分数,用-1作为结束标志,若输入大于100,\n则提示重新输入。然后计算最高分、最低分和平均值。

  1. #include<stdio.h>
  2. void main()
  3. {
  4. int mark,n=0,sum=0,max=0,min=100;
  5. float average;
  6. for(;;)
  7. {
  8. scanf("%d",&mark);                                         //输入学生成绩
  9. if(mark>100)                          //如果输入的成绩大于100,则重新输入
  10. {
  11. printf("Please reinput:\n");
  12. continue;                                 //结束本次循环,返回for循环
  13. }
  14. if(mark==-1)                                     //-1表示输入学生成绩结束
  15. break;                                         //终止整个循环,跳出循环体
  16. n++;
  17. sum=sum+mark;
  18. if(mark>max)  max=mark;                             //max存放最大的成绩
  19. if(mark<min)  min=mark;                              //min存放最小的成绩
  20. }
  21.    average=(float)sum/n;
  22.              //“(float)sum”是强制型类型变换,使average的值一定为实数
  23. printf("max=%d,min=%d,average=%f\n",max,min,average);
  24. }

例2:计算半径从1到20时圆的面积,直到面积大于200为止。

  1. #include<stdio.h>
  2. #define PI 3.14159265
  3. void main()
  4. {
  5. int r;
  6. float s;
  7. for(r=1;r<=20;r++)
  8. {
  9. s=PI*r*r;
  10. if(s>200) break;
  11. printf("r=%d,s=%.2f\n",r,s);
  12. }
  13. }

例3:输出50到150之间不能被5整除的整数。

    1. #include<stdio.h>
    2. void main()
    3. {
    4. int i;
    5. for(i=50;i<=150;i++)
    6. {
    7. if(i%5==0)
    8. {
    9. printf("\n");  //使输出的显示每五个数换一行。
    10. continue;
    11. }
    12. printf("%5d",i);
    13. }
    14. printf("\n");
    15. }

[转] 再探java基础——break和continue的用法的更多相关文章

  1. 再探java基础——break和continue的用法

    再探java基础——break和continue的用法 break break可用于循环和switch...case...语句中. 用于switch...case中: 执行完满足case条件的内容内后 ...

  2. 《Java基础——break与continue用法详解》

    Java基础--break与continue用法详解       1. break语句: 规则: 1. 仅用于循环语句和switch语句当中,用于跳出循环. 2. 当只有一层循环时,则直接跳出循环,不 ...

  3. Java 基础 break和continue关键字的使用

    break&continue关键字的使用 break:使用在switch...case语句或者循环结构语句中,表示结束当前循环. 示例代码: public class TestBreak { ...

  4. Java基础break、continue语句的用法

    break适用范围:只能用于switch或者是循环语句中.当然可以用于增强for循环. break作用: 1. break用于switch语句的作用是结束一个switch语句. 2. break用于循 ...

  5. 再探Java基础——String.format(String format, Object… args)的使用

    最近看到类似这样的一些代码:String.format("参数%s不能为空", "birthday"); 以前还没用过这功能不知咐意思,后研究了一下,详细讲解如 ...

  6. 再探Java基础——throw与throws

    http://blog.csdn.net/luoweifu/article/details/10721543 异常处理机制 异常处理是对可能出现的异常进行处理,以防止程序遇到异常时被卡死,处于一直等待 ...

  7. 再探java基础——对面向对象的理解(2)

    对象.类和抽象类的区别 对象是一个具体的事物,类是对具有相同属性和行为的一组对象的抽象,对象是类的一个一个人的具体实例:抽象类是一种特殊的类,是对类的进一步抽象,抽象类不能被实例化. 类.抽象类和接口 ...

  8. 再探java基础——零碎基础知识整理

    1.java是解释型语言.java虚拟机能实现一次编译多次运行. 2.JDK(java software Development kit 软件开发包),JRE(java Runtime Environ ...

  9. java基础———break,continue

    break通常用在循环语句之中用来跳出循环: continue终止某次循环过程,跳过尚未执行的语句:接着执行下次是否执行循环的判定:

随机推荐

  1. Maxwell’s Equations

    A=cos(pi*x-pi/2)i+sin(pi*x)j 正电荷形成的电场 负电荷形成的电场   正负电荷形成的电场 无限长导线上均匀分布的正电荷 电场 均匀分布电荷的平面 电场 电荷均匀分布的球面形 ...

  2. [转]关于负margin在页面中布局的应用

    本文转载自:http://www.cnblogs.com/jscode/archive/2012/08/28/2660078.html. 今天再写一个布局的时候用到一个margin-top是负值的情况 ...

  3. 二分法 codevs 1432 总数统计

    codevs 1432 总数统计  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond   题目描述 Description 给出n个数,统计两两之和小于k的方 ...

  4. 2014 Super Training #8 C An Easy Game --DP

    原题:ZOJ 3791 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3791 题意:给定两个0-1序列s1, s2,操作t ...

  5. 数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列

    一.队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其 ...

  6. css常用中文字体的英文名称写法

    我们知道网页中使用中文字体最好用其对应的英文名称,这样可以避免出现编码问题导致样式中的中文名称出现乱码,从而不识别.下面是网页中常用的中文字体所对应的英文名称.留着,不用翻资料了 中文 英文 宋体 S ...

  7. HTML5 - 使用JavaScript控制<audio>音频的播放

    有时我们需要使用js来控制播放器实现音乐的播放,暂停.或者使用js播放一些音效.   1,通过JavaScript控制页面上的播放器 比如把页面上添加一个<audio>用来播放背景音乐(由 ...

  8. 利用concat进行数组复制

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. iOS -数据库网络之xml解析之第三方解析XML

    1.导入第三方插件(GDalaXMLNode)   2.第三方插件配置   libxml/tree.h 路径   在项目属性中--Bulid Settings中搜索 Search   --Search ...

  10. WP老杨解迷:开发生态两极化和榜单乱象

    Windows Phone 自2013年的一片浪潮推动下,2014年终于开始引起了各大小CP们的注意,于是大量的产品开始乘风破浪一路涌进Windows Phone平台,立即改变了榜单的格局,如今,苦B ...