Каково ключевое слово «продолжить» и как оно работает на Java?


Answers

continue вроде как goto . Вы знакомы с break ? Легче об этом думать:

  • break завершает цикл (переходит к коду под ним).

  • continue завершает оставшуюся часть обработки кода внутри цикла для текущей итерации, но продолжает цикл.

Question

Я видел это ключевое слово в первый раз, и мне было интересно, может ли кто-нибудь объяснить мне, что он делает.

  • Что такое ключевое слово continue ?
  • Как это работает?
  • Когда он используется?



Если вы думаете о теле цикла как подпрограмме, continue вроде как return . Одно и то же ключевое слово существует в C и служит той же цели. Вот надуманный пример:

for(int i=0; i < 10; ++i) {
  if (i % 2 == 0) {
    continue;
  }
  System.out.println(i);
}

Это выведет только нечетные числа.




В основном в java, continue - это утверждение. Поэтому оператор continue обычно используется с циклами для пропуска текущей итерации.

Для того, как и когда он используется в java, обратитесь к ссылке ниже. У этого есть объяснение с примером.

http://www.flowerbrackets.com/continue-java-example/

Надеюсь, поможет !!




«continue» в Java означает перейти к концу текущего цикла, означает: если компилятор увидит продолжение в цикле, он перейдет к следующей итерации

Пример: это код для печати нечетных чисел от 1 до 10

компилятор будет игнорировать код печати всякий раз, когда видит, что он продолжает перемещаться в следующую итерацию

for (int i = 0; i < 10; i++) { 
    if (i%2 == 0) continue;    
    System.out.println(i+"");
}



Как уже упоминалось, continue будет пропустить обработку кода ниже него и до конца цикла. Затем вы перемещаетесь в состояние цикла и запускаете следующую итерацию, если это условие все еще выполняется (или если есть флаг, в состояние обозначенного цикла).

Следует подчеркнуть, что в случае do - while переходе в состояние внизу после continue , а не в начале цикла.

Вот почему многие люди не могут правильно ответить на то, что будет генерировать следующий код.

    Random r = new Random();
    Set<Integer> aSet= new HashSet<Integer>();
    int anInt;
    do {
        anInt = r.nextInt(10);
        if (anInt % 2 == 0)
            continue;
        System.out.println(anInt);
    } while (aSet.add(anInt));
    System.out.println(aSet);

* Если ваш ответ заключается в том, что aSet будет содержать нечетные числа всего на 100% ... вы ошибаетесь!