Я собираюсь использовать немного другую аналогию, поскольку многие ответы дают вам правильную информацию.
Массив - это просто список последовательных блоков, содержащих значения.Представьте, что это список домов, каждый из которых пронумерован от 0 (массивы в Java, как и во многих других языках программирования, начинаются с 0, а не с 1) до n
(в вашем случае это 2).
Таким образом, если бы вы собирали пожертвования из каждого дома, вы начинали с первого дома, 0, затем переходили к следующему дому 1, затем к следующему дому 2. Вы бы отслеживали, какой домпосещают сейчас, так что вы также знаете, какой следующий, и именно это делает целочисленная переменная i
.
Печать numbers[i]
не делает цикл цикла, так же какстук в первый дом не означает, что вы будете стучать во второй дом.
Цикл for
отслеживает, какие номера домов вам нужно посетить в следующем.Он делает это с помощью 3 утверждений, которые он имеет в одной строке:
for(int i = 0; i < number.length; i++)
Первое утверждение говорит о начале с первого дома (int i = 0
).Вы можете начать, где хотите.
Второе утверждение гласит: вы хотите идти до последнего дома, независимо от того, сколько домов там.(* * Тысяча двадцать одна).Это буквально переводит продолжать цикл, пока i
меньше, чем размер массива .Вы можете спросить, почему это не условие <=
.Это потому, что мы начинаем с 0, поэтому длина (размер массива) будет номером последнего дома + 1. В вашем случае, length = 2 + 1
.
Третье утверждение, это то, что делаетВы переезжаете в следующий дом.i++
- сокращение от i = i + 1
.Это утверждение выполняется после каждой итерации цикла.
Таким образом, по существу, ваш цикл for сначала инициализирует i в 0, проверяет условие (второе выражение) и, если условие выполняется, выполняет первую итерацию, а затем, наконец,увеличивает i
, чтобы начать другую итерацию, если второе условие все еще выполняется.Этот цикл повторяется до тех пор, пока второе выражение вашего выражения for
больше не будет истинным.
Наконец, все numbers[i]
означает, что, поскольку numbers
является массивом, оператор [ ]
обращается к значениюпо указанному индексу.Так что это все равно, что стучать в дом с номером i
, чтобы посмотреть, кто там живет.При подаче значения на System.out.println()
это значение выводится на экран.