Программирование на Java. Массивы в Java. (Лекция 3.2)

Содержание

Слайд 2

Ссылочные типы данных Ссылочные типы : массивы, строки, классы При работе

Ссылочные типы данных

Ссылочные типы :
массивы, строки, классы
При работе

со ссылочными типами :
операторы "=" и "==" присваивают и сравнивают ссылки, а не значения
значение простого типа не может быть преобразовано к ссылочному типу и, наоборот
null - специальное значение (константа), представляющее пустую ссылку
Слайд 3

Одномерные массивы Чтобы воспользоваться массивом, необходимо: объявить переменную массива []; или

Одномерные массивы

Чтобы воспользоваться массивом, необходимо:
объявить переменную массива
<тип> <имя>[];
или
<тип>[] <имя>;
выделить

память под массив
<имя>= new <тип> [<число_элем.>];
Можно совмещать объявление с выделением памяти:
<тип>[] <имя> = new <тип> [<число_элем.>];
Слайд 4

Одномерные массивы Примеры объявления и размещения массивов ⇓ float[] f; f

Одномерные массивы

Примеры объявления и размещения массивов

float[] f;
f = new

float[300];
byte[] buffer = new byte[1024];
byte buffer[] = new byte[1024];
Слайд 5

Одномерные массивы Инициализация - осуществляется после размещения массива в памяти по

Одномерные массивы

Инициализация - осуществляется после размещения массива в памяти
по умолчанию


при помощи списка инициализации (в этом случае операция new не используется)
float m1[]={23.2f,3,45};

Нумерация элементов массива начинается с 0

Слайд 6

Одномерные массивы Возможности Количество элементов массива не может быть изменено Переменной

Одномерные массивы

Возможности
Количество элементов массива не может быть изменено
Переменной можно присвоить ссылку

на другой массив того же типа

float m1[]={23.2f,3,45};
float mas_c[]={333,444,555,666};

m1=mas_c

Слайд 7

Одномерные массивы Возможности Размер массива хранится в поле length класса массива,

Одномерные массивы

Возможности
Размер массива хранится в поле length класса массива, (только для

чтения)
for( int i = 0; i < m.length; i++)
m[i] = i;
При нарушении границ массива формируется исключение ArrayIndexOutOfBoundsException
Слайд 8

Многомерные массивы Многомерный массив – это массив массивов. Его элемент -

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

Многомерный массив – это массив массивов.
Его элемент - ссылка

на массив на размерность меньше

arr[2] [3] [2]

17 , 896

-43 , 55

21 , 162

56 , 411

293 , -7

91 , 8

0

1

0

1

2

0

1

2

0

1

0

1

0

1

0

1

0

1

0

1

1-е измерение

2-е изм.

3-е изм.

Слайд 9

Многомерные массивы Объявление и выделение памяти byte m2[ ][ ] =

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

Объявление и выделение памяти
byte m2[ ][ ] = new

byte [256][16];
Поэтапное задание размерностей, начиная с левой
byte m3[ ][ ][ ] = new byte [2][ ][ ];

m3[0] = new byte [3][ ];
m3[1] = new byte [5][2];
Для подмассивов одного уровня можно задавать разные размерности
m3[0][0] = new byte [1];
m3[0][1] = new byte [3];
Это позволяет организовывать "непрямоугольные” массивы
Слайд 10

Многомерные массивы Явная инициализация: при помощи вложенных списков инициализации byte m3[

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

Явная инициализация: при помощи вложенных списков инициализации
byte m3[ ][ ][

] = {{{17, -2}, {6, 9}, {63,90}}, {{33, 46},
{-24, 55}, {111,123}}}; // размерность [2][3][2];
Объявление, размещение и инициализация «треугольного» массива
int m[ ][ ] = {{1}, {2,3}, {4,5,6}};
Слайд 11

Массивы–параметры Массивы могут быть параметрами и возвращаемыми значениями методов static int[

Массивы–параметры

Массивы могут быть параметрами и возвращаемыми значениями методов
static int[ ]

inversion (int[ ] a)
{
int len = a.length;
int[] b = new int[ len ];
for (int i = 0; i < len; i++)
// Инвертирование порядка элементов
b[i] = a[ len - i - 1];
return b;
}