原文地址: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. 【温故而知新-Javascript】窗口效果 (全屏显示窗口、定时关闭窗口)

    1.全屏显示窗口 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  2. c++仿函数 functor

    内容整理自国外C++教材 先考虑一个简单的例子:假设有一个vector<string>,你的任务是统计长度小于5的string的个数,如果使用count_if函数的话,你的代码可能长成这样 ...

  3. 利用OpenCV检测图像中的长方形画布或纸张并提取图像内容

    基于知乎上的一个答案.问题如下: 也就是在一张照片里,已知有个长方形的物体,但是经过了透视投影,已经不再是规则的长方形,那么如何提取这个图形里的内容呢?这是个很常见的场景,比如在博物馆里看到一幅很喜欢 ...

  4. UESTC 923 稳住GCD DP + GCD

    定义:dp[i][j] 表示 在前i个数中,使整个gcd值为j时最少取的数个数. 则有方程: gg = gcd(a[i],j) gg == j : 添加这个数gcd不变,不添加,  dp[i][j] ...

  5. NGUI国际化 多语言

    相关组件 NGUI的本地化操作相关的组件 Localization UILocalize Language Selection 主要部分 在需要本地化的UILabel上绑定UILocalize,填写K ...

  6. Hibernate Java、Hibernate、SQL 之间数据类型转换

    Hibernate映射类型 Java类型 标准SQL类型  integer  java.lang.Integer  integer  long  java.lang.Long  bigint  sho ...

  7. Android Studio 三种添加插件的方式,androidstudio

    前几篇blog我们介绍了如何安装和配置Android Studio,这篇Blog我们来聊聊如何给Android Studio添加插件,添加插件的路径有三种,我把他们分类如下: 点击设置小按钮 点击[P ...

  8. 委托--delegate

    委托,跟类很相似,能够定义对象,但是区别是 1,委托必须有关键字delegate. 2,委托有类型修饰符,比如void,string,int.修饰符取决于他的方法返回类型. 3,委托没有方法实现. d ...

  9. iOS获取窗口当前显示的控制器

    解决类似网易新闻客户端收到新闻推送后,弹出一个UIAlert,然后跳转到新闻详情页面这种需求 1.提供一个UIView的分类方法,这个方法通过响应者链条获取view所在的控制器 - (UIViewCo ...

  10. 08SpringMvc_(1)继承AbstractCommandController的Action[能够以实体的形式,收集客户端参数].(2)日期转换器和编码过滤器

    上一篇文章说过要介绍两个控制器.这篇文章就介绍第二个控制器AbstractCommandController(这个类已经快要被废弃了,有更好的代替者,但还是要好好学这个类).这个控制器的额作用是为了收 ...