for (int i = 0; i < result.length; i++) {
            result[i] = new int[i + 1];
            for (int j = 0; j < result[i].length; j++) {
                result[i][j] = i + j;}
System.out.print(result[i][j] + " ");}
Объясните, пожалуйста, что конкретно делают циклы. Я слышала объяснения, что внешний цикл перебирает строки, внутренний ячейки... Что значит " перебирает "? Заполняет значениями? Тогда ещё в первом цикле были бы заполнены ячейки всех строк... Или внешний цикл просто " создаёт" строки (то есть выделяет память для них)? В данном конкретном примере, result[I] это строка массив? А j - количество ячеек, которое на 1 меньше, чем длина массива, потому что нумерация с 0? Если можно, построчно объяснить. Заранее благодарю за помощь!