тройной вложенный цикл в java-логике

65
6

Я запускаю этот код из учебника под названием java как раз вовремя, и я могу видеть результат, но я не полностью понимаю процесс этого вложенного цикла цикла.

for (int die1 = 1; die1 <= 6; die1++)
for (int die2 = 1; die2 <= 6; die2++)
for (int die3 = 1; die3 <= 6; die3++)
System.out.println(die1 + die2 + die3 + " From " + die1 + "+" + die2 + "+" + die3);

Выходные результаты чисел штампа выглядят следующим образом: 111 112 113 114 115 116

Что я могу понять. Третий цикл цикла циклически 6 раз, где die3 увеличивается каждый раз и выводится вывод.

Следующие строки вывода дают

121 122 123 124 125 126

где я немного запутался. Я вижу, что die2 теперь увеличивается на 1 и увеличивается до двух, но я смущен тем, как значение die3 теперь возвращается к 1 и снова увеличивается. Может ли кто-нибудь объяснить мне процесс того, что происходит в этом вложенном цикле? благодаря

Кроме того, логика изменена путем применения "{}" скобок к каждому циклу?

спросил(а) 2016-11-03T01:18:00+03:00 3 года, 7 месяцев назад
1
Решение
66

Логика не изменяется путем добавления скобок, потому что в этом случае каждый оператор, который будет внутри скобок, является только одной строкой. Если вы хотите включить несколько строк в блок, вам нужны скобки (хотя это хорошая идея, чтобы просто использовать их всегда, вам ничего не стоит и делает код более удобочитаемым).

Что касается того, как работает код, пропустите его.

мы вводим петлю, которая идет от 1-6. этот цикл начинается с 1. мы вводим новый цикл, который идет от 1-6. это также начинается с 1. мы вводим конечный цикл из 1-6. это начинается с 1. на данный момент происходит первое выражение печати, печать 111. петля с шага 3 проходит по всем 6 номерам, печать 111-116. цикл с этапа 3 завершен, так что теперь цикл с шага 2 может увеличиваться от 1 до 2 оператор после цикла 2 представляет собой цикл 3, поэтому новый цикл начинается с 1. операторы печати снова запускаются для нового внутреннего цикла 1-6, что приводит к распечатке цифр 121-126

Если вы все еще не понимаете, отличный инструмент устанавливает точку останова и выполняет код. Вы можете видеть, что происходит шаг за шагом.

ответил(а) 2016-11-03T01:27:00+03:00 3 года, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема