Проинициализировать двумерный массив можно так (поправьте меня, если ошибаюсь, без идеи сложно вспомнить:)) - int[][] twoD = new int [][]{{1, 2}, {3, 4}}; Тоесть у нас получился двумерный массив 2Х2. в одном массиве лежит два массива. Первый - {1, 2}, второй - {3, 4}; Допустим мы ложим k, которое равно 5, по индексу twoD[1][0] = k; Это значит, что мы перезапишем 3. Так как twoD[1] - говорит нам, что нам вопервых нужен второй массив (индексация с нуля же), тоесть {3, 4} и в нем мы должны перезаписать значение по индексу 0, тоесть тройку.