сказать, что я делать-то время цикла, как это:Хотя петли булева переназначения
public class Main {
public static void main(String[] args) {
boolean b = false;
int i = 1;
do {
i++;
} while (b = !b);
System.out.println(i);
}
}
Что бы вызвать i
для увеличения в общей сложности три? Я могу понять, что этот цикл гарантирует, что он будет запущен хотя бы один раз, но в этом случае логическое значение b
переназначается в true, не приведет ли это к бесконечному циклу?
'b =! B' переводит' b' в обратную сторону, что бы это ни было. В первый раз 'b' начинается как' false', поэтому он перенаправляется на 'true'. Во второй раз 'b' начинается как' true', поэтому он переназначается на 'false', а затем цикл завершается. Надеюсь, это упражнение для проверки вашего понимания Java. ** Никогда ** не пишите код, как это в реальной жизни, с присвоением булевской переменной удвоения в качестве условия. Трудно следовать. – ajb
Да, это вопрос упражнений. Спасибо за ваше объяснение, я не поймал другой кусок, где он будет перевернут на ложный, примеры, подобные этим, могут быть очень неприятными для понимания. Я ценю это! – hexobolic
@ajb любой конкретной причине _not_, чтобы опубликовать это как ответ? –