1. Полезные примеры работы с массивами:
Думаю, настало время переходить к практическим задачам. И начнем мы с нескольких самых простых:
Заполнение массива из 10 чисел числами от 0 до 9: |
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = i;
} |
- Создаем объект-массив на 10 элементов
- Цикл от 0 до 9 включительно
- В ячейки заносим значения от 0 до 9
|
Заполнение массива из 10 чисел числами от 1 до 10: |
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = i + 1;
} |
- Создаем объект-массив на 10 элементов
- Цикл от 0 до 9 включительно
- В ячейки заносим значения от 1 до 10
|
Заполнение массива из 10 чисел числами от 10 до 1: |
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = 10 - i;
} |
- Создаем объект-массив на 10 элементов
- Цикл от 0 до 9 включительно
- В ячейки заносим значения от 10 до 1
|
2. Вывод чисел в обратном порядке
А теперь перейдем к примерам посложнее и поинтереснее. И начнем мы с такой задачи: нужно ввести с клавиатуры 10 чисел и вывести их в обратном порядке.
Как вводить числа с клавиатуры мы знаем. А как ввести 10 чисел? Можно, конечно же, создать 10 переменных: а1
, а2
, и т.д. Но, во-первых, это неудобно. Во-вторых, если нужно будет ввести 100 чисел, мы будем создавать 100 переменных? Ну и в-третьих, мы же только что выучили массивы, которые просто созданы для хранения большого количества значений.
Код для ввода 10 значений будет выглядеть примерно так (приводим только код внутри метода main
):
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
} |
- Создаем объект
Scanner
- Создаем объект-массив на 10 элементов
- Цикл от 0 до 9 включительно
- Читаем число с клавиатуры и сохраняем его в очередную ячейку массива
|
А как же вывести значения массива в обратном порядке?
Для этого нам понадобится еще один цикл, где i
будет принимать значения от 9 до 0 (не забываем, что индексы массива нумеруются с 0). Финальный код программы будет выглядеть примерно так:
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
}
for (int i = 9; i >= 0; i--) {
System.out.println(array[i]);
} |
- Создаем объект
Scanner
- Создаем объект-массив на 10 элементов
- Цикл от 0 до 9 включительно
- Читаем число с клавиатуры и сохраняем его в очередную ячейку массива
- Цикл от 9 до 0 включительно
- Выводим на экран очередную ячейку массива
|
3. Поиск минимального элемента в массиве
Давайте разберем одну очень интересную и часто встречающуюся задачу — найти минимальный элемент в массиве. Возьмем код для заполнения массива из предыдущей задачи:
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
} |
- Создаем объект
Scanner
- Создаем объект-массив на 10 элементов
- Цикл от 0 до 9 включительно
- Читаем число с клавиатуры и сохраняем его в очередную ячейку массива
|
Нам осталось написать код, который найдет в массиве минимальный элемент и выведет его на экран. Как же это сделать?
Ну, чтобы найти минимальный элемент нужно:
- Взять первый элемент массива в качестве «текущего найденного минимального».
- Сравнить с ним все элементы массива поочередно
- Если очередной элемент массива меньше «текущего минимального», то обновить значение «текущего минимального элемента»
Вот как это будет выглядеть в коде:
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
}
int min = array[0];
for (int i = 1; i < 10; i++) {
if (array[i] < min)
min = array[i];
}
System.out.println(min); |
- Создаем объект
Scanner
- Создаем объект-массив на 10 элементов
- цикл от 0 до 9 включительно
- Читаем число с клавиатуры и сохраняем его в очередную ячейку массива
- В качестве минимального числа взяли нулевой элемент массива
- Цикл от 1 до 9 включительно
- Если текущий элемент массива меньше «найденного минимального числа»
- то «обновить значение минимального числа»
- Вывести найденное минимальное число на экран
|
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ