Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

java-lekcii-2016-01-17 / presentation-oct-3

.pptx
Скачиваний:
15
Добавлен:
27.03.2016
Размер:
94.84 Кб
Скачать

Массивы

Массив – последовательный набор элементов определенного типа.

//Массивы используются для того чтобы избежать создания большого количества связанных между собой переменных

int number0; int number1; int number2;

//...

int[] numbers;

//Создание массива определенного размера (4 элемента) с указанием значений

int[] numbers = { 1, 2, 3, 4 };

//Создание массива определенного размера (4 элемента) без указания значений

int[] numbers = new int[4];

//Получение размера массива

int size = numbers.length; // size = 4

Работа с массивами

int[] numbers = { 54, 30, 22, 48 }; System.out.println(Arrays.toString(numbers)); // [54, 30, 22, 48] numbers[0] = 11;

System.out.println(Arrays.toString(numbers)); // [11, 30, 22, 48] ++numbers[0];

System.out.println(Arrays.toString(numbers)); // [12, 30, 22, 48] numbers[0] = numbers[3] + numbers[1]; System.out.println(Arrays.toString(numbers)); // [78, 30, 22, 48] // Размер созданного массива не может быть изменен

int[] newNumbers = new int[numbers.length + 1]; System.out.println(Arrays.toString(newNumbers)); // [0, 0, 0, 0, 0]

for (int i = 0; i < numbers.length; ++i) { newNumbers[i] = numbers[i];

}

System.out.println(Arrays.toString(newNumbers)); // [78, 30, 22, 48, 0]

numbers = newNumbers; System.out.println(Arrays.toString(numbers)); // [78, 30, 22, 48, 0]

Хранение массивов в памяти

Stack

 

Heap

int[]

 

 

 

 

78

30

22

48

numbers;

int[] newNumbers;

 

 

 

 

 

 

 

 

numbers = newNumbers;

numbers;

78

30

22

48

0

newNumbers;

Примерint[] arr1 = { 1, 2, 3, 4, 5 }; int[] arr2 = { 6, 7, 8, 9, 0 };

System.out.println(Arrays.toString(arr1)); // [1, 2, 3, 4, 5]

System.out.println(Arrays.toString(arr2)); // [6, 7, 8, 9, 0]

arr2 = arr1;

System.out.println(Arrays.toString(arr1)); // [1, 2, 3, 4, 5]

System.out.println(Arrays.toString(arr2)); // [1, 2, 3, 4, 5]

arr1[0] = 15;

System.out.println(Arrays.toString(arr1)); // [15, 2, 3, 4, 5]

System.out.println(Arrays.toString(arr2)); // [15, 2, 3, 4, 5]

Упражнения

Выяснить, является ли цифра 6 первым или последним элементом массива целых чисел

Отсортировать элементы массива целых чисел произвольной длины в обратном порядке (из {1, 8, 5, 3} сделать {3, 5, 8, 1})

Выяснить, содержит ли массив целых чисел определенное число

Вывести количество четных чисел в массиве

Сдвинуть элементы массива влево на 1 позицию (из {1, 8, 5, 3} сделать {8, 5, 3, 1})

Вывести true, если в массиве целых чисел из каждых двух соседних элементов хотя бы один равен N, и false в противном случае.

Вывести true, если массив содержит три соседних целых числа, например, 3, 4, 5 или 6, 7, 8

({1, 2, 3, 7} – true; {3, 1, 2, 7} – true; {2, 7, 1, 3} – true; {1, 2, 4} – false)

Пусть span (промежуток) – количество элементов между первым и последним элементами массива, равными указанному числу (в массиве {1, 2, 3, 2} span числа 2 равен 1). Если число встречается только один раз, его span = 1. Имея массив целых чисел, найти число, span которого является самым большим.

Соседние файлы в папке java-lekcii-2016-01-17