Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы Рыков.docx
Скачиваний:
103
Добавлен:
21.04.2015
Размер:
305.38 Кб
Скачать

27. Массивы. Многомерные массивы.

Объявление int A[n]создает в памяти одномерный массив: набор пронумерованных элементов, идущих в памяти последовательно. Но можно создать и массив массивов следующим образом:int A[n][m]. Данное объявление создает массив изnобъектов, каждый из которых в свою очередь является массивом типаint [m]. ТогдаA[i], гдеi принимает значения от0доn-1будет в свою очередь одним изnсозданных обычных массивов, и обратиться к элементу с номеромjв этом массиве можно черезA[i][j].

Подобные объекты (массивы массивов) также называют двумерными массивами. Двумерные массивы можно представлять в виде квадратной таблицы, в которой первый индекс элемента означает номер строки, а второй индекс – номер столбца. Например, массив A[3][4]будет состоять из 12 элементов и его можно записать в виде

    A[0][0]  A[0][1]  A[0][2]  A[0][3]     A[1][0]  A[1][1]  A[1][2]  A[1][3]     A[2][0]  A[2][1]  A[2][2]  A[2][3]

Для считывания, вывода на экран и обработки двумерных массивов необходимо использовать вложенные циклы. Первый цикл – по первому индексу (то есть по всем строкам), второй цикл – по второму индексу, то есть по всем элементам в строках. Например, вывести на экран двумерный массив в виде таблицы, разделяя элементы в строке одним пробелом можно следующим образом:

    int A[n][m];     for(int i=0;i<n;++i)     {  // Выводим на экран строку i        for(int j=0;j<m;++j)           cout<<A[i][j]<<" ";        cout<<endl; // Строка завершается символом перехода на новую строку     }

Можно объявлять не только двумерные массивы, но и массивы с большим количеством измерений. Например, объявление int A[n][m][l] создает трехмерный массив из n*m*l элементов. Для обращения к каждому элементу такого массива необходимо указать три индекса: A[i][j][k], при этом 0<=i, i<n, 0<=j, j<m, 0<=k, k<l. Количество измерений в массиве может быть практически бесконечным (т.е. достаточным для решения любых практических задач).

28. Статические методы классов. Методы функционального и процедурного типа.

Статическим методом называется фрагмент программы, которому присвоено некоторое уникальное имя, и который по этому имени можно вызывать из остальных частей программы. В момент, когда происходит вызов, выполняются действия, перечисленные внутри метода (в его описании или теле). В объектно-ориентированном программировании основная задача методов заключается в том, чтобы изменять текущее состояние объекта, но до тех пор, когда в программе объекты ещё не используются, методы уже могут вводиться. Метод, который описан внутри некоторого класса, но вызывается без приложения к конкретному объекту этого класса, называется статическим.

Методы в Java условно можно разделить на 2 группы: функции и процедуры. К первой группе относятся методы, очень похожие на функции в математическом смысле. В результате своей работы такие методы возвращают в то место программы, из которого они были вызваны, некоторый конкретный результат существующего типа, то есть это может быть целое или вещественное число или логическое значение (int, double, boolean), массив (ссылка на него), объект (ссылка на него). Возвращаемое значение должно присваиваться переменной подходящего типа или же передаваться какому-либо другому методу в роли аргумента.

В отличие от функций, методы процедурного типа производят какие-либо полезные действия, но не дают законченного результата, который мог бы выражаться в одном конкретном значении или объекте.

Примеры:

double r = Math.random(); /* random  относится к функциям */ System.out.println(r); /* println относится к процедурам */