![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| darkvivi |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.9.2008 Репутация: нет Всего: 1 |
Здравствуйте!) Помогите, пожалуйста, разобраться, почему
boolean b; 1) b = i < 10 | methodB (4); 2) b = i < 10 || methodB (8); Почему метод methodB в первой строке будет выполняться, а метод во второй строке не будет? Как вообще булевские переменные могут влиять на выполнение/не выполнение методов?) Это же Всем заранее спасибо!) |
|||
|
||||
| alexsaltykov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 17.8.2007 Репутация: нет Всего: нет |
(A | B) в этом случае будут выполнять оба условия
(A || B) в этом случае условие B будет выполнятся только в том случае если условие A не равно true |
|||
|
||||
| jk1 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Здесь используется побитовая операция "or", поэтому для вычисления результата надо вычислить оба операнда
Здесь используется логическая операция дизъюнкции. Как известно из курса формальной логики, если первый операнд дает истину, то второй можно не вычислять, результат уже не изменится. Поэтому он и не вычисляется. Чтобы не путаться лишний раз первый вариант для boolean-переменных обычно не используют. -------------------- Opinions are like assholes — everybody has one |
||||
|
|||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |