Записки программиста Программирование и не только

5Сен/120

[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.};
4Сен/120

[ООП] Некоторые определения

По просьбе.
Материал выискивался как подготовка к Гос. экзаменам и представляет собой компиляцию кучи источников. Посему их не указываю.
Некоторые вещи были взяты у Гради Буча "Объектно-ориентированный анализ и проектирование"