использование перерыва в Java - PullRequest
0 голосов
/ 29 августа 2018

Для вложенных циклов, когда я использую continue с метками, это дает мне ошибку во время компиляции, говоря, что the declared loop is not present.

Специально для этого случая отображается сообщение об ошибке: Second is not a loop label.

Вот фрагмент кода, который я написал, чтобы продемонстрировать мою проблему:

//using break as a form of GOTO 
class demo
{

    public static void main(String [] args)
    {   
        boolean b=false;
        First:{
            Second:{
                Third:{
                        System.out.println("Before BReak");
                        if(b)                               
                        continue Third;                 
                        else
                        break Second;
                    }
                    System.out.println("THis won't execute");
                }
                System.out.println("THis too won't Execute");
            }
    }   

}

Ответы [ 3 ]

0 голосов
/ 29 августа 2018

Это приводит к ошибке компиляции в Java, потому что нет цикла. продолжить имеет смысл только когда есть цикл

0 голосов
/ 29 августа 2018

Вы можете использовать оператор Label без цикла только с break и не с continue

  • для продолжения вам потребуется цикл

  • пример оператора label без оператора loop и break:

    sumBlock: {

         if (a < 0) {
                break sumBlock;
            }
    
            if (b < 0) {
                break sumBlock;
            }
            return a + b;
        }
    
0 голосов
/ 29 августа 2018

Поскольку вы не в каком-то цикле, вы не можете использовать continue.

Из документов :

Оператор continue пропускает текущую итерацию a, в то время как, или цикл do-while

...