没有标签break语句试图控制转移到最内层 包围开关,同时,执行,或用于 的声明立即封闭方法或初始化程序;
我对这条规则有误解。例如,如果我们写代码:
public static void main(String[] args) // Immediately enclosing method
{
while(true){ // Innermost enclosing 'while' for the break at LINE 2?
break; // **LINE 2**
}
}
JLS说,当我们在LINE 2
我们试图控制权转移到最内层的while
。做什么的?在LINE 2
控制已经在那个时候的block-statement
。
JLS的第一条语句是:“一个break语句将一个封闭语句的控件*转出*。” – 2014-10-12 13:36:11
@NathanMerrill是的,它说。根据我引用的规则,JLS试图说的是什么? – 2014-10-12 13:39:15
@ St.Antario它的含义是,如果你有2个嵌套循环,并且在最内层循环中有一个中断,控制权将被转移到外层循环中。如果你有5个嵌套循环,并且最内层循环(第5个循环)中有一个中断,那么控制权转移到第4个循环中。 – 2014-10-12 13:43:03