Синтаксис — Java: Массивы
Массивы представляют собой последовательность элементов одного типа, например чисел или строк. Задача массива — представить такие списки в виде единой структуры, которая позволяет работать с ними как с единым целым, будь то курсы на Хекслете или друзья в вашей любимой социальной сети.
Определение массива
Начнем с создания. Для создания массива надо знать тип элементов в массиве и имя новой переменной которая будет ссылаться на массив:
// Массив - ссылочный тип int[] numbers = 1, 2, 3>; String[] cars = "kia", "bmw", "ford">; // Массив может быть даже пустым int[] fruits = <>;
В примере создаются и сразу инициализируются (наполняются значениями) два массива. Один состоит из чисел, другой из строк. Тип массива задается как тип хранящихся элементов, соединенный с парными скобками, например, так int[] .
Обратите внимание на именование переменных, содержащих массивы. Они во множественном числе. Это подчеркивает природу переменной и делает код проще для анализа.
Массивы в Java фиксированного размера, поэтому если мы хотим создать пустой массив, но не знаем заранее что должно быть внутри, мы можем создать пустой массив нужной длины и затем заполнить его нужными значениями:
// Это особый синтаксис создания массива, а не объектов по типу // Обратите внимание на то, что скобки квадратные, а не круглые int[] numbers = new int[3]; String[] cars = new String[3]; // И так далее для всех остальных типов
Здесь 3 — нужный размер массива, в переменной numbers будет зарезервировано место для трех переменных которые можно будет записать в массив в дальнейшем.
Вывод на экран
Массивы относятся к ссылочным типам данных. Эту тему мы обсудим позже, но прямо сейчас нужно знать как распечатать на экран такие данные. Обычный способ не работает:
String[] cars = "kia", "bmw", "ford">; System.out.println(cars); // => java.lang.String;@27bc2616
Для печати нужно использовать метод Arrays.toString() , который формирует из массива строку. Затем эту строку можно вывести на экран:
import java.util.Arrays; String[] cars = "kia", "bmw", "ford">; System.out.println(Arrays.toString(cars)); // => ["kia", "bmw", "ford"]
Получение данных
Элементы в массиве упорядочены слева направо. Каждый элемент имеет порядковый номер, называемый индексом. Индексация массива начинается с нуля. То есть первый элемент массива доступен по индексу 0 , второй — по индексу 1 и так далее. Для извлечения элемента из массива по индексу используется свой синтаксис:
String[] animals = "cats", "dogs", "birds">; animals[0]; // "cats" animals[1]; // "dogs" // Последний индекс в массиве всегда меньше размера массива на единицу // В этом массиве три элемента, но последний индекс равен двум animals[2]; // "birds"
Узнать размер массива можно, обратившись к его свойству length .
String[] animals = "cats", "dogs", "birds">; animals.length; // 3
В реальных задачах индекс часто вычисляется динамически, поэтому обращение к конкретному элементу происходит с использованием переменных:
var i = 1; String[] animals = "cats", "dogs", "birds">; animals[i]; // "dogs"
var i = 1; var j = 1; String[] animals = "cats", "dogs", "birds">; animals[i + j]; // "birds"
Такой вызов возможен по одной простой причине — внутри скобок ожидается выражение. А там, где ожидается выражение, можно подставлять все, что вычисляется. В том числе вызовы метода:
String[] animals = "cats", "dogs", "birds">; animals[someMethod()]; // "dogs"
Довольно часто в задачах с использованием массивов нужно взять последний элемент. Для этого вычисляется последний индекс массива по формуле размер_массива — 1, по которому и можно обратиться к последнему элементу:
Открыть доступ
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
- 130 курсов, 2000+ часов теории
- 1000 практических заданий в браузере
- 360 000 студентов
Наши выпускники работают в компаниях:
Как получить номер элемента массива в переменную?
Как получить номер элемента массива в переменную? Вот собственно в чем и потребность. Заранее спасибо!
Как получить номер элемента в массиве?
Люди помогите пожалуйста. Ни как не могу решить, как получить номер элемента из массива. Есть.
Как получить в переменную значение value выбранного пользователем элемента из выпадающего списка?
Есть выпадающий список который заполняется результатами из SQL запроса не могу никак получить.
Как получить номер выбранного элемента listBox?
Как получить номер выбранного элемента listBox?
1 2 3 4 5 6 7 8 9 10 11 12
package WorkCyberForym; public class Work1 { public static void main(String[] args) { int[] mas = {1,3,5,76,98,76}; int g = mas[4];//например 4 элемент System.out.println(g); } }
или вам надо,чтобы ,где я написал ‘напрмер 4’вот это самое 4)и было в переменной,или надо присвоить значение переменной,которое соответствует номеру в массиве?вообще известно,сколько в массиве элементов?
мне нужен порядковый номер элемента в массиве, то есть, если цифра «5» в указанном вами примере — является третьей по порядку в массиве, то как это можно этот порядковый номер получить присвоив впоследствии переменной?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
import java.util.Scanner; public class Main { public static void main(String[] args) { int[] mas = {1,3,5,76,98,76}; System.out.println("Введите элемент массива"); Scanner sc = new Scanner(System.in); int b = sc.nextInt(); int p=0; for(int i=0; i6; i++) { if(b==mas[i]) p=i; } System.out.println(p); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
import java.util.Scanner; public class Clazz { public static void main(String[] args) { int[] mas = { 1, 3, 5, 76, 98, 76 }; System.out.println(findNumberInMass(mas, 76)); } // на вход подаем сам массив и то значение, которое нужно найти // возвращает порядковый номер элемента (привычный для людей) если данный // элемент был найден // иначе возвращает 0 (ноль) public static int findNumberInMass(int[] incomingMass, int needFind) { // проходим по циклу от первого элемента до "последнего" for (int i = 0; i incomingMass.length; i++) { // если число найдено - цикл прерывается и возвращается номер позиции "для людей" if (needFind == incomingMass[i]) { return i + 1; } } //если в массиве нет нужного элемента - возвращаем ноль return 0; } }
хотя я лучше бы возвращал не i+1 а просто i, а в случае не совпадения -1, но смотрите сами как нравится
Добавлено через 16 минут
ну вы ж поняли что строку System.out.println(findNumberInMass(mas, 76)); можно переписать вот так
int number = findNumberInMass(mas, 76); //как вы и хотели в переменную
Sysout. ну и т.к.
Как найти индекс массива java
Чтобы найти индекс искомого элемента в массиве можно в цикле перебрать все элементы и сравнить их с искомым. Если они равны, будет выведен индекс первого подходящего элемента.
// Число, которое будем искать int num = 3; // Переменная для хранения индекса, // найденного числа int index = -1; int[] arr = 1, 2, 3, 4, 5>; for (int i = 0; i arr.length; i++) // Если элемент и число равны, то // сохраняй индекс if (arr[i] == num) index = i; > > System.out.println(index); // => 2
Также можно воспользоваться пакетом org.apache.commons.lang , методом indexOf() из класса ArrayUtils для нахождения индекса элемента.
import org.apache.commons.lang3.ArrayUtils; public class Example public static void main(String[] args) int[] arr = 1, 2, 3, 4, 5>; // индекс числа 3 int index = ArrayUtils.indexOf(arr, 3); System.out.println(index); // => 2 > >