JavaRush /Курсы /Java Syntax Pro /Примеры использования массивов

Примеры использования массивов

Java Syntax Pro
5 уровень , 2 лекция
Открыта

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 включительно
  • Если текущий элемент массива меньше «найденного минимального числа»
  • то «обновить значение минимального числа»
  • Вывести найденное минимальное число на экран


Комментарии (928)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Alex Уровень 6
12 ноября 2025
Так вот. вопрос по решению программистов из ДжавыРаш. Смотрите.... после создания нового объекта типа Сканнер, они пишут: int n = Integer.parseInt(scanner.nextLine()); вопрос - зачем? можно ведь просто написать int a = scanner.nextInt();. Где то пишут, что якобы соблюдается какая то чистота кода, что мол ошибок не будет... Так с чего бы им вообще быть. Я ввожу значения в консоли типа int, если ввиду String будет просто ошибка. так зачем вводить Integer.parseInt(scanner.nextLine()). Непонятно. И второй вопрос. Зачем в последней части кода, где идет сравнение каждого элемента массива при каждой итерации цикла с объявленной переменной int min = array[0]; внутри цикла вводят ЕЩЕ ОДНУ переменную int number = array[i];. Можно ведь сразу сравнивать array[i] с переменной MIN и в случае выполнения условия присваивать ему новое значение. Разве нет?
Alex Уровень 6
12 ноября 2025
Ребята ВНИМАНИЕ!!!!! вот мой код для решение задачи с минимальным значением public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); int[] array = new int[a]; for (int i = 0; i < array.length; i++) { array[i] = scanner.nextInt(); } // СПОСОБ 1. Так как хочет ДжаваРаш int min_value = array[0]; for (int i = 0; i < array.length; i++) { if (array[i] < min_value) { min_value = array[i]; } } System.out.println(min_value); // СПОСОБ 2. С использованием метода класса Arrays для сортировки массива и вывода первого (минимального) значения после сортировки. Arrays.sort(array, 0, array.length); System.out.println(array[0]); } }
techn0di Уровень 8
30 октября 2025
народ, подскажите пожалуйста где в IDEA смотреть input data задачи?
Сергей Уровень 20
9 октября 2025
На третий день понял, что не правильно понял условия задачи. Эти -NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN, застали меня врасплох 😵‍💫
Entropie Уровень 8
24 сентября 2025
Эта часть сюжета комикса с могучим гигантским пустынным червем, который в целом не за вас, но должен помочь в борьбе с неким злом, похож на сюжет Mass Effect 3
13 сентября 2025
Последние задания решаю только в виде (проверил правильное решение, разобрал в deepseek весь процесс досканально, переписал уже после разбора) Ну никак не получается раскидать это самому хоть убейте. У меня одного такие затыки в самом начале обучения?
Anonymous #3537057 Уровень 6
19 сентября 2025
у меня также было, советую еще какую то книгу читать или статьи пока не станет более менее понятно
Denis Skab Уровень 8
1 октября 2025
скажу как человек который был 3 года программистом, такие завтыки есть всегда, даже на работе иногда просто неделю сидишь и думаешь ну всё приехали, ну а потом решаешь, это нормально, сейчас даже легче стало решать из за ИИ, а раньше только overflow и то раз через раз помогал
FosTeR Уровень 10
8 октября 2025
А почему был? ИИ заменил человека? а то может я зря учусь...мол поздно уже входить в IT.
Никита Уровень 3 Expert
20 октября 2025
не поздно, просто ИИ упрощает жизнь
7 сентября 2025
Забавно, что люди жалуются на то, что им сначала дают задание, а потом теорию, как это сделать проще. Если буквально перед этой лекцией автор высказал своё мнение на этот счёт, цитата: Некоторые студенты даже возмущаются насчет задач: дескать, мы этого еще не проходили. Такие задачи — повод задуматься: как можно их решить с текущим набором знаний? Вы потратите час-другой на эти задачи, зато потом с радостью встретите новый оригинальный подход или красивое решение. К тому же, в реальной жизни на работе вам тоже сначала дадут задание, а только потом вы найдете знания, которые нужны, чтобы его решить. Реальная жизнь — она такая. Так что чем раньше вы привыкнете к такому подходу, тем лучше.
Anonymous #3611806 Уровень 19
17 августа 2025
лекции о массивах какой то гений писал сначала задачу даем где нужно использовать решение которое не объяснялось, а затем его в след лекции показывают первым примером Браво в других лекциях такого не было
RomZed Уровень 10
14 августа 2025
Reverse в коде нет класса и main чтоб не было громоздко, чтобы работало при n<=0 можно брать в инициализации массива модуль, а из цикла вылетит сам, задача решается одним for , вообще без if (если не брать вывод) так как исходя из четности n массив будет заполняться по разному из-за тернарного оператора, обожаю его. Всем удачи.

        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] arr = new int[Math.abs(n)];
        for (int i = 0; i < n; i++) {
            arr[n % 2 == 0? (n - 1) - i : i] = in.nextInt();
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
Another Уровень 11
28 сентября 2025
Этот код не будет работать с отрицательным числом "n". Но если в строках 4 и 5 заменить "n" на "arr.length", то всё ок 😉
Vadim Уровень 11
4 августа 2025
Спасибо что даете задание, а потом только теорию как это можно было сделать! это просто гениально!
Dmitry Terekhov Уровень 14
17 августа 2025
Так буквально перед заданием теория...