Ответ 1
outer : for(int i=0;i<10;i++)
определяет метку для внешнего цикла, называемую outer
continue outer;
означает, перейдите к следующей итерации цикла с меткой outer
Собственно, это первый раз, когда я вижу такой код:
class A
{
public static void main(String args[])
{
outer : for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
if(j > i)
{
System.out.println();
continue outer;
}
System.out.print(" " +( i *j ));
}
}
System.out.println();
}
}
две строки я не понимаю:
outer : for(int i=0;i<10;i++) // this seems similar to 'for each'?
continue outer; // I know that 'continue' will break the loop and continue the next turn, but what will do in this situaton?
outer : for(int i=0;i<10;i++)
определяет метку для внешнего цикла, называемую outer
continue outer;
означает, перейдите к следующей итерации цикла с меткой outer
Часть outer:
- это метка. Это в основном обозначение цикла. Сам цикл работает так же нормально.
continue outer;
означает "продолжить возврат к началу тела цикла с меткой outer
" (после инкремента и тестирования i
, конечно). Это похоже на то, что оператор break;
выходит из внутреннего цикла, а затем сразу же имеет нормальный оператор continue;
для продолжения следующего шага внешнего цикла.
outer
- это метка, когда вызывается continue outer;
, код будет переходить на метку outer
и продолжить оттуда. Причина этого в этом случае заключается в том, что кодер хочет выйти из внутреннего цикла, когда j>i
и продолжить внешний цикл.
из документации java: http://download.oracle.com/javase/tutorial/java/nutsandbolts/branch.html
ура!
Outer: это метка, вместо продолжения внутреннего цикла вы продолжаете внешний цикл, указав метку
outer
- это метка, а continue outer
в основном выполняет goto
, но продолжает цикл, а не запускает его снова.
outer:
определяет метку "внешний", которую вы можете использовать в break
и continue
. Это разрешено только перед конструкциями цикла (for
, while
, do
).
Итак, continue outer
означает "продолжить с внешним циклом" или "применить continue
к циклу с соответствующей меткой".