黑马程序员技术交流社区

标题: 刚有人说的跳转标志的问题,自己写测试代码怎么不通过 [打印本页]

作者: 张飞年    时间: 2012-9-28 23:59
标题: 刚有人说的跳转标志的问题,自己写测试代码怎么不通过
  1. public class Test1 {
  2.         public static void main(String[] args) {
  3.                 int a = 0;
  4.                 h: if (a > 0) {
  5.                         System.out.println("aaaaa");
  6.                 }
  7.                 for (int i = 0; i < 10; i++) {
  8.                         if (i == 5) {
  9.                                 a = a + 1;
  10.                                 continue h;// 这里为什么会提示标签h忆丢失
  11.                         }
  12.                 }
  13.         }
  14. }
复制代码

作者: 王玉岩    时间: 2012-9-29 00:13
public class Test1 {
        public static void main(String[] args) {
                int a = 0;
               h:   if (a > 0) {//如果你要自定义标签的话一般是在for循环或者是多重for循环中表示要break或者continue到哪层,而不是用在判断语句上。
                        System.out.println("aaaaa");
                }
               for (int i = 0; i < 10; i++) {
                        if (i == 5) {
                                a = a + 1;
                                continue h;
                        }
                }
        }
}


作者: 张飞年    时间: 2012-9-29 00:24
王玉岩 发表于 2012-9-29 00:13
public class Test1 {
        public static void main(String[] args) {
                int a = 0;

嗯,,那是不是回到h:就停下来了,,不再继续再从比如for循环开始执行?
作者: 柳彬    时间: 2012-9-29 00:42
大哥,你这样会报错:
未定义的标签: h
                 continue h;// 这里为什么会提示标签h忆丢失
因为标签是写在循环语句中的;
例如:
tag:
        for(int i = 0; i <10 ; i++){
            for(int j = 0; j < 10; j++){
                System.out.println(i + j +"="+(i + j));
                if(i ==5 ){
                    break tag;
                }
            }
        }


                 ^
作者: 张飞年    时间: 2012-9-29 14:09
柳彬 发表于 2012-9-29 00:42
大哥,你这样会报错:
未定义的标签: h
                 continue h;// 这里为什么会提示标签h忆丢失

嗯,,这个明白 了,那回到标签那之后还会又向下执行吗




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2