当我们的业务代码中不得不包含很多复杂的嵌套循环时,使用标签来分层是一个很好的办法,其作用主要为更好的控制break、continue等关键字的作用范围。
举个栗子:
// 第一层循环 FIRST: // 标签,标记该层循环 for (int x = 0; x < 10; x++) { // 第二层循环 SECOND: // 标签,标记该层循环 for (int y = 0; y < 10; y++) { // 第三层循环 THIRD: // 标签,标记该层循环 for (int z = 0; z < 10; z++) { if (z == 5) { break THIRD; // 跳出第三层循环,等同于 break; break SECOND; // 跳出第二层循环,等同于 break; 一次后在外层循环再 break; break FIRST; // 跳出第一层循环,等同于 break; 一次后在外层循环再 break; 然后再在外层循环再 break; } } } }