boolean example[] = { true, false, false, true, true };
for (int i = 0; i < 5; i++) {
if (example[i]) {
System.out.println("true");
} else {
System.out.println("false");
}
}
Почему выводит результат true,false,false,true,true
? По какой логике?
Я так понимаю, if (example[i])
означает, что если данный элемент равен любому значению, то вывести true
. Тогда почему результат не true,true,true,true,true
?
Массив example
содержит булевы переменные.
Оператор if
вычисляет результат в скобках на истина\ложь и в зависимости от того, получится в итоге вычислений true
или false
, выполняет одну из веток: сразу после скобок или после оператора else
Так как в вашем массиве уже булевы переменные, то вычисления на истина\ложь для них не требуется: аргумент условия уже содержит булево значение, которое оператор if
может обработать напрямую.
В итоге, если развернуть ваш код, получится такое:
if (true) .. выполнить часть после скобок
if(false) .. выполнить часть после else
if(false) .. выполнить часть после else
if(true) .. выполнить часть после скобок
if(true) .. выполнить часть после скобок
Сама конструкция if - else читается следующим образом:
Если (что-то истинно) {выполнить это} иначе {выполнить это}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть класс который я хочу протестировать, но когда я использую mock у меня не получается нормальной замены, то есть результирующий метод в классе...
Как сделать так, чтобы при изменении настроек, сцены менялись и работали без проблем?
Вопрос по CSSЗадача: есть высокий блок-контейнер, он по высоте не помещается на один экран (например, div, в котором много параграфов), надо задать...
Красный блок лежит на картинке и не могу его опустить