Добрий володар ні. Іноді існує ймовірність того, що в циклі може статися щось, що задовольняє загальну вимогу, не задовольняючи умови логічного циклу. У такому випадку breakвикористовується, щоб зупинити вас безглуздо їздити по петлі.
Приклад
String item;
for(int x = 0; x < 10; x++)
{
if(array[x].equals("Item I am looking for"))
{
item = array[x];
break;
}
}
Що має більше сенсу в цьому прикладі. Продовжуйте цикл до 10 кожного разу, навіть після того, як ви його знайшли, або цикл, поки не знайдете предмет і не зупинитесь? Або в реальному вираженні; коли ви знаходите свої ключі, ви продовжуєте шукати?
Змінити у відповідь на коментар
Чому б не встановити xдля 11розірвати цикл? Це безглуздо. Маємо break! Якщо ваш код не робить припущення, що x, безумовно, більше, ніж 10пізніше (а це, мабуть, не повинно бути), тоді ви просто використовуєте break.
Редагуйте заради повноти
Безумовно, існують інші способи моделювання break. Наприклад, додавання додаткової логіки до вашого стану завершення у вашому циклі. Казати, що це або безглуздо, або використання breakне є справедливим. Як зазначалося, цикл while часто може досягти подібної функціональності. Наприклад, слідуючи наведеному вище прикладу ..
while(x < 10 && item == null)
{
if(array[x].equals("Item I am looking for"))
{
item = array[x];
}
x++;
}
Використання breakпросто означає, що ви можете досягти цієї функціональності за допомогою forциклу. Це також означає, що вам не потрібно продовжувати додавати умови в свою логіку завершення, коли ви хочете, щоб цикл поводився інакше. Наприклад.
for(int x = 0; x < 10; x++)
{
if(array[x].equals("Something that will make me want to cancel"))
{
break;
}
else if(array[x].equals("Something else that will make me want to cancel"))
{
break;
}
else if(array[x].equals("This is what I want"))
{
item = array[x];
}
}
Замість того, щоб while loopіз умовою припинення, яка виглядає так:
while(x < 10 && !array[x].equals("Something that will make me want to cancel") &&
!array[x].equals("Something else that will make me want to cancel"))