点击查看
看源码的时候,在String类的toUpperCase(Locale locale)方法中看到了 scan
源码
/* Now check if there are any characters that need to be changed. */
scan: {
for (firstUpper = 0 ; firstUpper < len; ) {
char c = value[firstUpper];
if ((c >= Character.MIN_HIGH_SURROGATE)
&& (c <= Character.MAX_HIGH_SURROGATE)) {
int supplChar = codePointAt(firstUpper);
if (supplChar != Character.toLowerCase(supplChar)) {
break scan;
}
firstUpper += Character.charCount(supplChar);
} else {
if (c != Character.toLowerCase(c)) {
break scan;
}
firstUpper++;
}
}
return this;
}
scan语法是用来跳出多重循环的,'scan' 是自定义的
1.测试如下:
public static void main(String[] args) {
System.out.println("START");
a:
{
for (int i = 0; i < 10; i++) {
System.out.println("START-" + i);
for (int j = 0; j < 10; j++) {
System.out.println(j);
if (j == 3) {
break a;
}
}
System.out.println("END-" + i);
}
}
System.out.println("END");
}
控制台:
START
START-0
0
1
2
3
END
2.把 break a; ==》 break;
控制台
START
START-0
0
1
2
3
END-0
START-1
0
1
2
3
END-1
START-2
0
1
2
3
END-2
START-3
0
1
2
3
END-3
START-4
0
1
2
3
END-4
START-5
0
1
2
3
END-5
START-6
0
1
2
3
END-6
START-7
0
1
2
3
END-7
START-8
0
1
2
3
END-8
START-9
0
1
2
3
END-9
END