Как сказано в других ответах, обычно вторая точка с запятой интерпретируется как пустое утверждение, которое допустимо там, где допустимо любое утверждение.
На самом деле, есть случаи, когда двойная точка с запятой выдает ошибку:
public int method() {
return 1;;
}
Когда компилятор определяет, что местоположение недоступно (и это определено точно в JLS, но включает расположения непосредственно после return
, break
, continue
и throw
), оператор там разрешено, даже не пустое.