2017-02-19 11 views
1

Так что в python можно поставить инструкцию else после цикла for, чтобы выполнить код только в том случае, если разрыв не произошел. Есть что-то подобное в Java? Или вы должны использовать дополнительное логическое значение, как это:Какие существуют способы выполнения кода, только если в цикле for в Java нет разрыва?

b = true; 
for() { 
if (conditional) { 
    b = false; 
    break; 
} 
if (b) { 
    doSomething(); 
} 
+0

@ OlivierGrégoire, это не дубликат вопрос, который вы упомянули. –

+0

Мои навыки копирования пасты нашли свой матч ... Я имел в виду этот вопрос: http://stackoverflow.com/questions/13069402/efficient-implementation-for-python-for-else-loop-in-java –

+0

@ OlivierGrégoire, хорошо, вы знаете, что вы связали другой вопрос. –

ответ

5

Нет, Java не имеет ничего подобного, так что, если вам действительно нужно, чтобы имитировать, что поведение, которое вы должны использовать дополнительную переменную.

Однако стоит учитывать, что, поскольку разные языки программирования имеют разные идиомы, преобразование непосредственно из одного в другое может не привести к коду, который соответствует стилю целевого языка. Поэтому в зависимости от решаемой проблемы может быть целесообразно использовать for-else в python, но иную идиому в Java.

+1

@ GrzegorzGórkiewicz Ну ... да, не так ли? – Kayaman

+1

@ GrzegorzGórkiewicz см. Http://psung.blogspot.fr/2007/12/for-else-in-python.html –

2

переменная, безусловно, самый читаемый способ для достижения этой цели, но вот альтернатива я придумал:

loop: 
{ 
    for (...) { 
     if (...) break loop; 
    } 
    // no 'break loop' occurred 
} 
+0

Очень хорошо и просто. –

+2

Не очень идиоматический язык Java. Я думаю, что это смутит многих людей. –

 Смежные вопросы

  • Нет связанных вопросов^_^