Массивы в Java презентация

Содержание

Слайд 2

Массивы Массив – упорядоченный набор элементов одного типа. Индекс – номер элемента в массиве.

Массивы

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

Индекс – номер элемента в

массиве.
Слайд 3

Массивы Массив можно представить, как набор пронумерованных ячеек, в каждую

Массивы

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

можно поместить данные, но только один элемент данных в одну ячейку. Доступ к конкретной ячейке осуществляется через её номер.
Слайд 4

Массивы Элементами могут быть значения простых и ссылочных типов Массивы

Массивы

Элементами могут быть значения простых и ссылочных типов
Массивы сами по себе

являются объектами и наследуют от класса Object
Слайд 5

Доступ к элементам массива Доступ к элементам массива осуществляется по

Доступ к элементам массива

Доступ к элементам массива осуществляется по целочисленному индексу

с помощью оператора []

countries

countries[2]

Слайд 6

Объявление, инициализация, заполнение Объявление Инициализация Заполнение Способ «3 в 1»

Объявление, инициализация, заполнение

Объявление
Инициализация
Заполнение
Способ «3 в 1»

int[] array;

byte[] b = {0, 2,

4, 8, 16, 32};

array = new int[20];

int oldFishion[];

array[0] = 10;
array[1] = 15;

passToMethod(new long[] {1, 2, 3, 4, 5});

Слайд 7

Работа с одномерными массивами Форма объявления ссылки на массив с

Работа с одномерными массивами

Форма объявления ссылки на массив с квадратными скобками

после типа элемента является более предпочтительной
Объект массива создается с помощью оператора new
Массив при этом заполняется значениями по умолчанию для типа его элементов (0, false или null)
Нумерация в массивах начинается с 0
Длина массива хранится в публичном неизменяемом поле length
Изменить длину массива после создания его объекта невозможно
Слайд 8

Заполнение массива случайными числами java.util.Random rnd = new java.util.Random(); int

Заполнение массива случайными числами

java.util.Random rnd = new java.util.Random();
int array[] = new

int[20];
for (int i = 0; i < array.length; i++)
array[i] = rnd.nextInt(100);
Слайд 9

Печать массива public class Main { public static void main(String[]

Печать массива

public class Main { public static void main(String[] args) {

int array[] = new int[20]; for (int i = 0; i < array.length; i++) System.out.printf("array[%d]=%d\n",i,array[i]); } }
Слайд 10

Класс java.util.Arrays Метод void sort(int[] myArray, int, int toIndex) сортирует

Класс java.util.Arrays

Метод void sort(int[] myArray, int, int toIndex) сортирует массив целых

чисел или его часть (от fromIndex до toIndex) по возрастанию.
Метод ищет int binarySearch(int[] myArray, int fromIndex, int toIndex, int key) элемент key в уже отсортированном массиве myArray или его части (от fromIndex до toIndex). Если элемент найден, метод возвращает его индекс, если нет -1.
Метод String toString(int[] myArray) преобразовывает массив к строке.
Слайд 11

Пример java.util.Arrays import java.util.Arrays; public class Main { public static

Пример java.util.Arrays

import java.util.Arrays; public class Main { public static void main(String[] args)

{ int[] array = {1, 5, 4, 3, 7}; //объявляем и инициализируем массив System.out.println(Arrays.toString(array));//печатаем массив Arrays.sort(array); //сортируем массив System.out.println(Arrays.toString(array));//отсортированный массив
int key = Arrays.binarySearch(array, 5); // ищем число 5 System.out.println(key);//распечатываем индекс числа 5 } }
Слайд 12

Задача №1 Сгенерировать массив строк из 36 элементов, представляющий колоду

Задача №1

Сгенерировать массив строк из 36 элементов, представляющий колоду игральных карт.

Каждая карта представлена мастью (♠, ♣, ♥, ♦) и достоинством (6, 7, 8, 9, 10, В, Д, К, Т). Например, «♣10».
а) вывести массив на консоль;
b) перемешать колоду.
Слайд 13

UNICODE-код символа char suits[] = {'\u2660', '♥' /*'\u2665'*/, '\u2663', '\u2666'}; System.out.print(java.util.Arrays.toString(suits));

UNICODE-код символа

char suits[] = {'\u2660', '♥' /*'\u2665'*/,
'\u2663', '\u2666'};
System.out.print(java.util.Arrays.toString(suits));

Слайд 14

Задача №1: решение char suits[] = {'\u2660', '♥' /*'\u2665'*/, '\u2663',

Задача №1: решение

char suits[] = {'\u2660', '♥' /*'\u2665'*/, '\u2663', '\u2666'};
String values[]

= {"6", "7", "8", "9", "10", "В", "Д", "К", "T"};
String cards[] = new String[36];
int count = 0;
for (int i = 0; i < 4; i++)
for (int j = 0; j < values.length; j++)
cards[count++] = suits[i]+values[j];
System.out.println(java.util.Arrays.toString(cards));
Random rnd = new Random();
for (int i=0; i{
int k = rnd.nextInt(cards.length);
int m = rnd.nextInt(cards.length);
String temp = cards[m];
cards[m] = cards[k];
cards[k] = temp;
}
System.out.println(java.util.Arrays.toString(cards));
Слайд 15

Задача №3 В странах Востока использовался календарь, представляющий собой 60-летнюю

Задача №3

В странах Востока использовался календарь, представляющий собой 60-летнюю циклическую систему.

Каждый 60-летний цикл состоит из пяти 12-летних подциклов. В каждом подцикле года носят названия животных: Крыса, Корова, Тигр, Заяц, Дракон, Змея, Лошадь, Овца, Обезьяна, Петух, Собака и Свинья.
Кроме того, в названии года фигурируют цвета животных, которые связаны с пятью элементами природы — Деревом (зеленый), Огнем (красный), Землей (желтый), Металлом (белый) и Водой (черный).
В результате каждое животное (и его год) имеет символический цвет, причем цвет этот часто совершенно не совпадает с его "естественной" окраской — Тигр может быть черным, Свинья — красной, а Лошадь — зеленой.
Например, 1984 год — год начала очередного цикла — назывался годом Зеленой Крысы. Каждый цвет в цикле (начиная с зеленого) "действует" два года, поэтому через каждые 60 лет имя года (животное и его цвет) повторяется.
Составить программу, которая по заданному номеру года нашей эры n печатает его название по описанному календарю в виде: "Крыса, Зеленый".
Слайд 16

Задача №3 Используя датчик случайных чисел, заполнить массив из двадцати элементов неповторяющимися числами.

Задача №3

Используя датчик случайных чисел, заполнить массив из двадцати элементов неповторяющимися

числами.
Слайд 17

Задача №4 Дан массив ненулевых целых чисел. Определить, сколько раз

Задача №4

Дан массив ненулевых целых чисел. Определить, сколько раз элементы массива

при просмотре от его начала меняют знак. Например, в массиве 10, –4, 12, 56, –4, –89 знак меняется 3 раза.
Слайд 18

Многомерные массивы Состоят из одномерных массивов, элементами которых являются ссылки

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

Состоят из одномерных массивов, элементами которых являются ссылки на массивы

меньшей размерности
При создании объекта необязательно указывать все размерности
Массив необязательно должен быть «прямоугольным»

// Автоматическая
int[][] twoDimArr = new int[10][5];
// Вручную
int[][] twoDimArr = new int[10][];
for (int i = 0; i < 10; i++)
twoDimArr[i] = new int[i];
// Явно
int[][] arr3 = { {0}, {0, 1}, {0, 2, 4} };

Слайд 19

Печать двумерного массива int[][] arr = { {30, 5}, {0,

Печать двумерного массива

int[][] arr = { {30, 5}, {0, 1}, {10,

30, 20} }; for (int j = 0; j < arr.length; j++) { for (int i = 0; i < arr[j].length; i++) System.out.printf("%3d", arr[j][i]); System.out.println();
}
Слайд 20

Просмотр массива с помощью foreach int[] array = new int[]

Просмотр массива с помощью foreach

int[] array = new int[] { 1,

2, 3, 4, 5 };
for (int i : array){ System.out.println(i); }
Слайд 21

Домашнее задание: Задача №1 При выборе места строительства жилого комплекса

Домашнее задание: Задача №1

При выборе места строительства жилого комплекса при металлургическом

комбинате необходимо учитывать "розу ветров" (следует расположить жилой комплекс так, чтобы частота ветра со стороны металлургического комбината была бы минимальной).
Для этого в течение года проводилась регистрация направления ветра в районе строительства. Данные представлены в виде массива, в котором направление ветра за каждый день кодируется следующим образом:
1 — северный, 2 — южный, 3 — восточный, 4 — западный, 5 — северо-западный, 6 — северо-восточный, 7 — юго-западный, 8 — юго-восточный. Определить, как должен быть расположен жилой комплекс по отношению к комбинату.
Имя файла: Массивы-в-Java.pptx
Количество просмотров: 86
Количество скачиваний: 0