2012-05-13 5 views
-3

Есть ли подобная конструкция в Android программирования/Java, как есть в PHP:Android логично, если .. остальное операторы

Condition ? [if true, do this] : [else do this] 

Иногда код намного легче читать, что путь, чем с бесконечными if..else пунктами , , поэтому я был бы удивлен, если Java/Android не предложит нечто подобное?

+0

Опубликовать комментарий: извините, я прорыл много страниц онлайн-документации, но не нашел этого. Если бы я нашел это, я бы, конечно, не спросил здесь, но тогда, конечно, вы, ребята, не можете этого знать. Надеюсь, этот пост, если он будет использоваться для кого-то другого, поскольку ответы были для меня. Спасибо за это (и это будет kewl, чтобы прекратить наказывать меня еще больше downvotes). – richey

ответ

2

Да, и синтаксис точно так же: Condition ? [if true, do this] : [else do this]

+0

oh .. cool 8-) Я не ожидал этого, думал, что он не работал раньше. Попробуем еще раз попробовать, спасибо! – richey

+0

Обратите внимание, что '' сделать это ''может, например, * not * быть вызовом метода void. Тернарный оператор * не * синтаксический сахар для 'if ... else ...'. – aioobe

2

Сначала некоторые важные термины:

  • Заявления являются указания, что делать, например, System.out.println("hello");, Thread.sleep(1000);

  • Выражения, такие как x + y или foo() - bar() оцените значения.

Вам необходимо понять эти термины и оставить их в стороне.

Условная структура управления if (a) { b } else { c } является заявлением .

Тройной оператор a ? b : c является выражением (который, как и в РНР вычисляется в b, если a истинно, и c в противном случае).

1

В Java также существует стенограмма для инструкции if-then-else: взгляните на главу Conditional Operators, чтобы лучше понять.

Чтобы быть более ясным, как и @aioobe предложил: хотя считается в определенных контекстах, чтобы быть сокращенным к if-then-else структуре ? : это не утверждение, а тройная условный оператор или троичный оператор ,

+2

* В Java также существует стенограмма для оператора if-then-else * - Вы имеете в виду тройную 'a? b: c' оператор? – aioobe

+0

Да, как показывает ссылка, это показывает. – rekaszeru

+0

* [...] сокращенное выражение if-then-else [...] *, '? : 'construct - это не утверждение, поэтому вы можете пересмотреть свою формулировку. – aioobe

Смежные вопросы