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 читается следующим образом:
Если (что-то истинно) {выполнить это} иначе {выполнить это}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости