[Java] Урок 2. Массивы
Объявление целочисленного массива:
int month_days [];
Это просто указатель и пока его использовать нельзя.
Для использования его надо выделить память:
month_days = new int[12];
Другой вариант:
int month_days [] = new int[12];
Массивы в Jave по умолчанию инициализированы нулями.
Массив можно сразу заполнить нужными данными:
int month_days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
Размер будет вычислен автоматически.
Для получения размера массива используется встроенный метод length
. Индексация элементов идет с 0.
for(int i = 0; i < month_days.length; i++) { System.out.print(month_days[i] + " "); }
Многомерные массивы
Вообще, это не совсем многомерные массивы. Это массивы массивов.
Массив из 16 элементов:
double matrix [][] = new double [4][4];
Но можно и вот так:
double matrix [][] = new double [4][]; matrix[0] = new double[4]; matrix[1] = new double[5]; matrix[2] = new double[8]; matrix[3] = new double[2];
Печатаем:
for(int i = 0; i < matrix.length; i++) { for(int j = 0; j < matrix[i].length; j++) { System.out.print(matrix[i][j] + " "); } System.out.println(); }
Получаем:
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Инициализация двумерного массива:
int faa[][] = {{1,2,3},{4,5,6,7},{8,9,0,0,2}};
Тонкость.
Если есть желание задать значения массиву внутри массива, то вот так работать не будет:
double matrix [][] = new double [4][]; matrix[0] = {1., 2., 3.}; ...;
Надо обязательно выделять память вручную:
matrix[0] = new double[]{1., 2., 3.};
[ООП] Некоторые определения
По просьбе.
Материал выискивался как подготовка к Гос. экзаменам и представляет собой компиляцию кучи источников. Посему их не указываю.
Некоторые вещи были взяты у Гради Буча "Объектно-ориентированный анализ и проектирование"