Java查漏补缺系列——循环中label的使用

来源:互联网 发布:卖数据的联系方式 编辑:程序博客网 时间:2024/06/05 21:01

在嵌套循环中,要一次性跳出所有的嵌套循环的时,通常会用到label。
普通的break只能跳出一层,而不能跳出所有的循环。
这里给出两个例子来说明:

第一个,用普通的break

public class LoopDemo01 {    public static void main(String[] args) {        for (int i = 0; i < 2; i++) {            System.out.println("运行第一重循环" + i);            for (int j = 0; j < 2; j++) {                System.out.println("运行第二重循环" + j);                for (int k = 0; k < 2; k++) {                    if(k==1){                        break;                    }                System.out.println("运行第三重循环" + k);                System.out.println("******************************");                }            }        }    }  }

运行的结果是:
运行第一重循环0
运行第二重循环0
运行第三重循环0


运行第二重循环1
运行第三重循环0


运行第一重循环1
运行第二重循环0
运行第三重循环0


运行第二重循环1
运行第三重循环0


第二个,用label标签

public class LoopDemo02 {    public static void main(String[] args) {          loop: for (int i = 0; i < 2; i++) {              System.out.println("运行第一重循环" + i);              for (int j = 0; j < 2; j++) {                  System.out.println("运行第二重循环" + j);                  for (int k = 0; k < 2; k++) {                      if (k == 1) {                          System.out.println("跳出多重循环");                          break loop;                      }                      System.out.println("运行第三重循环" + k);                      System.out.println("**************************");                  }              }          }      }  }

运行的结果是:
运行第一重循环0
运行第二重循环0
运行第三重循环0


跳出多重循环

这里再补充一条用法,label可以用来标记下一步循环,计数变量+1:

/* * 打印出1000以内所有的质数 */public class zhiShu1000 {    public static void main(String[] args){        //方案一        for(int num = 2;num<=1000;num++){            boolean isPrime = true;            for(int i=2;i<num/2;i++){                if(num%i==0){                    isPrime = false;                    break;                }            }            if(isPrime){                System.out.println(num+"是质数!");            }        }        //方案二        nextNum:for(int num=2 ;num <= 1000;num++){            for(int i=2 ; i<=num/2;i++){                if(num % i==0){//如果有约数就取下一个num                    continue nextNum;                }            }            System.out.println(num + "是质数!");        }    }}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 新的小白鞋鞋子有点夹脚怎么办 单反快门按不下去里面响怎么办 在上海动漫城游戏厅里输了钱怎么办 电缝纫机扎快了上线有套那是怎么办 老式缝纫机底线总夹梭子上怎么办 两个月宝宝脸一边大一边小怎么办 炒股入金10万亏3万怎么办 如果一支股票有好几个庄家怎么办 浦发信用卡查询密码被锁定怎么办 浦发信用卡输错密码被锁定怎么办 浦发手机银行查询密码锁定怎么办 宝宝吃母乳没吃饱就睡着了怎么办 量柱画线不是方屏电脑怎么办 夏天卧室开空调太干了怎么办 健身房锻炼手臂抻的肌肉疼怎么办 人累了可以休息 心累了怎么办 上来两天班感觉不想做了怎么办 休产假的时候公司解散了怎么办 上三天班老板不给结工资怎么办 老师说孩子上课纪律不好我该怎么办 大班的孩子记不住拼音怎么办呢 家长跟孩子沟通出现问题该怎么办? 如果孩子入学分配出现问题该怎么办 2岁多的宝宝喜欢动手打人怎么办 儿童新长出的大门牙像两边撇怎么办 被烫伤了怎么办的活动反思怎么写 生完孩子脸上起蝴蝶斑了怎么办 鼻子部位突然长了晒斑怎么办 我脸上长有日晒斑.该怎么办 做为小领导同事不听你的怎么办 二年级的小孩叫写作业不听怎么办 苹果手机微信出现黑框怎么办 百度网盘下载原画视频会闪退怎么办 已发布的公众号推文段落重复怎么办 谷歌商店找不到方舟手游怎么办 染头发的颜色弄到衣服上怎么办 橡皮把桌面油漆弄掉了怎么办 手机被调成静音不知道放哪了怎么办 金丝熊吃大米吃撑了怎么办 部落有可疑记录被暂时禁封怎么办 鼻子通向嘴那里痒得难受怎么办