Является ли "еще, если" одно целое или два отдельных ключевых слова в Java? - PullRequest
5 голосов
/ 20 апреля 2009

Мне довелось прочитать учебный материал для SCJP сертификации, и я только что споткнулся о главу управления потоком и др., Где создается впечатление, что "else if" является ключевым словом само по себе , Я всегда думал, что это был обычный else, содержащий только блок if, фигурные скобки опущены.

Итак, что это?

Редактировать: Я хотел бы подчеркнуть, что этот вопрос больше относится к категории "укажи мне интерес", чем к категории "серьезный бизнес".

Ответы [ 8 ]

10 голосов
/ 20 апреля 2009

Да, это два отдельных ключевых слова - в спецификации языка Java не указано ключевое слово else if. На самом деле, как говорили другие авторы, оператор if содержится внутри оператора else.

РЕДАКТИРОВАТЬ: Многие учебные / образовательные материалы, по-видимому, подразумевают, что else if на самом деле является ключевым словом (и, действительно, оно обычно рассматривается как таковое), но я склонен думать, что это больше ради ясность / простота, что приводит к потере точности.

6 голосов
/ 20 апреля 2009

Это на самом деле говорит

else {
    if { ... }
}
6 голосов
/ 20 апреля 2009

это будут два отдельных ключевых слова, указанных пробелом между двумя словами.

3 голосов
/ 20 апреля 2009

Это два ключевых слова.

иначе может сопровождаться блоком или одним оператором.

в случае , в противном случае . Это еще одно утверждение , если .

Обновление

Не мешало бы упомянуть, что еще, если - это общий выбор стиля для глубоко вложенных , если операторов, и делает эту ситуацию гораздо более читабельной, чем вложение. Если мне не нужно поведение при провалах с оператором switch , я использую else, если .

1 голос
/ 09 июля 2009

В то время как в некоторых языках есть elsif, elseif или else if как отдельное утверждение (что-то вроде оператора case), Java не является одним из них.

1 голос
/ 20 апреля 2009

Мне кажется, что есть два отдельных ключевых слова. Но я уверен, что вы не можете иметь иначе без , если .

Лексическая структура Java

0 голосов
/ 20 апреля 2009

Если вы откроете свою сборку с помощью отладчика, вы узнаете ее оператор "if".

0 голосов
/ 20 апреля 2009

Я не эксперт по Java, но в C это определенно определяется как два разных ключевых слова, и Java довольно свободно украл у этой части синтаксиса C.

Независимо от глупых вопросов на экзаменах, это никогда не будет иметь никакого значения на практике. Эффект одинаков в любом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...