Двовимірні масиви
Не завжди буває зручно нумерувати ящики на складі з 0 до певного числа, іноді хочеться привести склад у більш впорядкований вигляд, наприклад ввести ряди. Тепер кожен ящик має свій номер ряду і свій порядковий номер у цьому ряді. Нехай на нашому складі є дев'ять ящиків, які містять 1, 2 і так далі 9 апельсинів. Ящики на складі розташовуються в три ряди по три ящики, тоді ситуацію на складі можна представити так:| Індекси | 0 | 1 | 2 | 
|---|---|---|---|
| 0 | 1 | 2 | 3 | 
| 1 | 4 | 5 | 6 | 
| 2 | 7 | 8 | 9 | 
Приклад. Обробка двовимірного масиву
Підрахувати суму елементів двомірного масиву розміром 3х5, які знаходяться на його "периметрі", тобто крайніх рядках і стовпцях.Розв’язання. У задачі не сказано про тип елементів та спосіб ініціалізації масиву. Виберемо на власний розсуд: нехай елементами масиву є цілими випадковими з проміжку 0..50.
Лістинг
package masuv_2D;
public class Masuv_2D {
public static void main(String [ ]args) {
 
// масив з 3 рядків і 5 стовпців,
 
// це масив з 3 ел., кожен з яких - масив з 5 ел.
 
int [ ][ ] a = new int[3][5];
 
// ініціалізація масиву випадковими
 
// тут a.length - кількість рядків
 
// тут a[0].length - кількість стовпців, можна
 
// використати a[1].length чи a[2].length
 
for (int i=0; i<a.length; i++) {
 
for (int j=0; j<a[0].length; j++) {
  
a[i][j]=(int)(Math.random()*10);
 
}
 
}
 
System.out.println("Вхідний масив:");
 
// виведення вхідного масиву на екран
 
for (int i=0; i<a.length; i++) {
 
for (int j=0; j<a[0].length; j++) {
 
System.out.print("a["+i+"]["+j+"]="+a[i][j]+"\t");
 
}
 
// переведення курсору виведення на новий рядок
 
System.out.println();
 
}
 
// початкова ініціалізація змінної для суми
 
int s=0;
 
// обчислюємо суму ел. першого і ост. стовпця
 
for (int i=0; i<a.length; i++) {
 
s=s+a[i][0]+a[i][a[0].length-1];
 
}
 
// додаємо до суми ел. першого і останнього рядка,
 
// крім крайніх елементів, бо вони вже
 
// враховані у попередньому циклі
 
for (int j=1; j<a[0].length-1; j++) {
 
s=s+a[0][j]+a[a.length-1][j];
 
}
 
System.out.println("Сума по периметру масиву: "+s);
 }
}
Результат
Вхідний масив:a[0][0]=4 a[0][1]=2 a[0][2]=9 a[0][3]=5 a[0][4]=4
a[1][0]=8 a[1][1]=5 a[1][2]=0 a[1][3]=7 a[1][4]=2
a[2][0]=9 a[2][1]=6 a[2][2]=4 a[2][3]=6 a[2][4]=5
Сума по периметру масиву: 64
Домашні завдання 
Шилдт: ст.128…131. 
Тести 
Heller: Assesment Test: 11, 27, 
practExam: 10, 
Sanghera: ch.6: 10, ch.2: 16, (+ page 49) 
Jaworsky: p. 72: 19, 20, Sierra5: ch.5: 12.