оператор break в Java - PullRequest
       12

оператор break в Java

0 голосов
/ 21 апреля 2011

Я написал метод 'setX' в Java, который говорит, что если значение x ((x, y)) отрицательно, значение x не изменится, и main () продолжится как обычно.

void setX (int num)
{
       if (num < 0)
            break;
       else
       {
            _x = num; 
       }
}

Я прав?Я не уверен из-за проблемы с разрывом, является ли оператор break просто текущим методом?

thnx

Ответы [ 7 ]

10 голосов
/ 21 апреля 2011

break используется только в циклах (while, for).

Если вы хотите выйти из метода, используйте return.

3 голосов
/ 21 апреля 2011

Возможно, вы имели в виду

public void setX(int x) {
   if (x >= 0)
        _x = x; 
}
0 голосов
/ 21 апреля 2011

Я думаю, что ваше намерение могло бы быть немного яснее, если бы ваша логика была изменена;

void setX (int num)
{
    if (num >= 0)
        _x = num;
}
0 голосов
/ 21 апреля 2011

Похоже, это должно сработать, но перерыв на самом деле ничего не делает. почему бы просто, если (num> = 0) _x = num;

0 голосов
/ 21 апреля 2011

Согласно руководству по Java, break предназначен для использования с циклами switch, for, while и do - while.Это не входит, если заявления.Для switch break удерживает switch от падения до следующего case, что в противном случае он сделал бы.Для циклов он прекращает цикл независимо от защитных элементов цикла.

Оператор break может быть либо без метки, и в этом случае он идет туда, где управление обычно возобновляется после цикла switch или цикла, или помечается какв этом случае он идет к метке (почти как если бы это был goto со строгими ограничениями на то, откуда он может прийти).

Чтобы выйти из текущего метода, используйте return.Возврат без значения - это правильный оператор для выхода из метода void.

0 голосов
/ 21 апреля 2011

Используйте return; здесь.break используется для выхода из петель.

0 голосов
/ 21 апреля 2011

вы должны использовать return. break это разрывать петли.

...