java中不像C/C++有goto语句,其中,在Java中引入语句标签的概念,标签用于continuebreak以实现精确的流程控制。
    其定义方式为标签名+冒号。
    在多重循环中,continue只时继续最内层循环,break则跳出所有循环,通过循环打上标签,可以精确的控制所需要跳转的未知。
    标签可以嵌套,如为for循环打上标签之后可以为for循环内部的语句再加上标签。
    标签可以重名,但是重名不能出现在嵌套的情况下。

    1. class Test {
    2. char[] value;
    3. int offset, count;
    4. int indexOf(TestString str, int fromIndex) {
    5. char[] v1 = value, v2 = str.value;
    6. int max = offset + (count - str.count);
    7. int start = offset + ((fromIndex < 0) ? 0 : fromIndex);
    8. label:
    9. for (int i = start; i <= max; i++) {
    10. int n = str.count, j = i, k = str.offset;
    11. label2:
    12. while (n-- != 0) {
    13. if (v1[j++] != v2[k++]){
    14. continue label;
    15. }
    16. }
    17. return i - offset;
    18. }
    19. return -1;
    20. }
    21. }