沒有標籤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