> 文档中心 > java核心技术卷中的细节(1- 带下划线的数字、带标签的break)

java核心技术卷中的细节(1- 带下划线的数字、带标签的break)

文章目录

  • 带下划线的数字表示
  • 标签的break

带下划线的数字表示

从java7开始,可以为数字字面量加下划线,如:
1_000_000或者(0b1111_0100_0010_0100_0000)表示100万。

验证一下:

  • 1_000_000
    public static void main(String[] args) { int num = 1_000_000; System.out.println("1_000_000 = " + num);    }

java核心技术卷中的细节(1- 带下划线的数字、带标签的break)

  • 0b1111_0100_0010_0100_0000
    public static void main(String[] args) { int num_0b = 0b1111_0100_0010_0100_0000; System.out.println("0b1111_0100_0010_0100_0000 = " + num_0b);    }

在这里插入图片描述

带标签的break

break可以用于switch或者是循环语句中,以结束一个switch语句或者结束当前所在的循环语句。

你是否见过这样的break(带标签的break):

    public static void main(String[] args) { int n=0; addN: for(int i=0;i<100;i++){     for(int j=0;j<100;j++){  ++n;  if(n==20){      break addN;  }     } } System.out.println(n);    }

java核心技术卷中的细节(1- 带下划线的数字、带标签的break)

带标签的break通常用于多层循环嵌套中,在某一个循环前面加一个标签,在退出循环的时候用break+标签跳出多层循环到标签处,并且不会再次进入到刚才的循环中。

使用普通的break执行上述程序:

    public static void main(String[] args) { int n=0;  for(int i=0;i<100;i++){     for(int j=0;j<100;j++){  ++n;  if(n==20){      break;  }     } } System.out.println(n);    }

在这里插入图片描述
普通的break语句只能跳出单层循环,而带标签的break语句可以跳出多层循环(即跳回到标签所在的位置,但不会再次进入循环)。

事实上,可以将标签应用到任何语句,甚至可以将其应用到if语句或者块语句,如下所示:

label:{  if(condition) break label;}// break跳到这里