lonewolfy Ответов: 2

Как работает break;, label и continue в java.


я нуб в программировании и не могу понять, как работает break, label и continue в java. пожалуйста, объясните, как это работает в цикле.


int i;
for(i=1; i<4; i++) {
one: {
two: {
three: {
System.out.println("\ni is " + i);
if(i==1) break one;
if(i==2) break two;
if(i==3) break three;
// this is never reached
System.out.println("won't print");
}
System.out.println("After block three.");
}
System.out.println("After block two.");
}
System.out.println("After block one.");
}
System.out.println("After for.");
}


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

Что я уже пробовал:

я действительно пробовал их на программах, но я не совсем понимаю, как это делается.

2 Ответов

Рейтинг:
1

Ravi Bhavnani

Если у вас нет возможности погуглить это, я с уважением предполагаю, что разработка программного обеспечения не для вас.  Что вы подразумеваете под словами" Я пытался "и"не совсем освоился"?  Задавайте конкретные вопросы, и мы постараемся помочь, но, пожалуйста, не задавайте расплывчатых или открытых вопросов.

Обновлено в ответ на сообщение OP:

Один continue идет к концу цикла, в котором он находится.
Один break выходит из цикла, в котором он находится.
Ценник break выходит (идет в конец) помеченного блока.

Когда i это 1, вы выходите из самого внешнего блока цикла, поэтому строка "не будет печатать" не будет выполнена.

/ Рави


lonewolfy

@ravi ..извините, приятель... я просто изучаю программирование... и это та программа, которую я пытаюсь понять out...im mean is label и continue same. в чем разница между тем и другим

int i;
для(i=1; i< 4; i++) {
один: {
два: {
три: {
Системы.из.код println("\н " + я);
если (i==1) сломать один;
если (i==2) сломать два;
если (i==3) сломать три;
// это никогда не достигается
Системы.из.код println("не для печати");
}
Системы.из.код println("после блока три.");
}
Системы.из.код println("после блока два.");
}
Системы.из.код println("после блока один.");
}
Системы.из.код println("После для.");
}

Ravi Bhavnani

Смотрите мой обновленный ответ.

/ Рави

Рейтинг:
1

Patrice T

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя-отладчик. Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.