Как работать с массивами: декларирование и инициализация

Если программа должна работать с рядом значений одинаково тип данныхВы могли бы объявить переменная за каждый номер. Например, программа, которая отображает номера лотереи:

int lotteryNumber1 = 16;
int lotteryNumber2 = 32;
int lotteryNumber3 = 12;
int lotteryNumber4 = 23;
int lotteryNumber5 = 33;
int lotteryNumber6 = 20;

Более элегантный способ работы со значениями, которые можно сгруппировать, состоит в использовании массива. Массив - это контейнер, в котором хранится фиксированное количество значений типа данных. В приведенном выше примере номера лотереи могут быть сгруппированы в массив int:

int [] lotteryNumbers = {16,32,12,23,33,20}; 

Думайте о массиве как о ряду ящиков. Количество ящиков в массиве не может измениться. Каждое поле может содержать значение, если оно имеет тот же тип данных, что и значения, содержащиеся в других полях. Вы можете заглянуть внутрь поля, чтобы увидеть, какое значение оно содержит, или заменить содержимое поля другим значением. Когда речь идет о массивах, ящики называются элементами.

instagram viewer

Объявление и инициализация массива

Оператор объявления для массива похож на тот, который используется для объявить любую другую переменную. Он содержит тип данных, за которым следует имя массива - единственное отличие - это включение квадратных скобок рядом с типом данных:

int [] intArray;
float [] floatArray; 
char [] charArray;

декларации выше скажи компилятору, что

INTArray
переменная является массивом
Интс
,
floatArray
это массив
поплавки
и
charArray
это массив символов. Как и любая переменная, их нельзя использовать, пока она не будет инициализирована путем присвоения ей значения. Для массива присвоение значения массиву должно определять размер массива:
intArray = new int [10]; 

Число в скобках определяет, сколько элементов содержит массив. Приведенный выше оператор присваивания создает массив int с десятью элементами Конечно, нет никаких причин, по которым объявление и присваивание не могут происходить в одном выражении

float [] floatArray = new float [10]; 

Массивы не ограничиваются примитивными типами данных. Массивы объектов могут быть созданы:

String [] names = new String [5]; 

Использование массива

Как только массив был инициализирован, элементам могут быть присвоены значения с помощью индекса массива. Индекс определяет положение каждого элемента в массиве. Первый элемент в 0, второй элемент в 1 и так далее. Важно отметить, что индекс первого элемента равен 0. Легко представить, что, поскольку массив состоит из десяти элементов, индекс составляет от 1 до 10, а не от 0 до 9. Например, если мы вернемся к примеру с номерами лотереи, мы можем создать массив из 6 элементов и назначить номера лотереи элементам:

int [] lotteryNumbers = new int [6];
lotteryNumbers [0] = 16;
lotteryNumbers [1] = 32;
lotteryNumbers [2] = 12;
lotteryNumbers [3] = 23;
номера лотереи [4] = 33;
lotteryNumbers [5] = 20;

Существует ярлык для заполнения элементов в массиве путем помещения значений для элементов в оператор объявления:

int [] lotteryNumbers = {16,32,12,23,33,20};
String [] names = {"John", "James", "Julian", "Jack", "Jonathon"};

Значения для каждого элемента помещены в пару фигурных скобок. Порядок значений определяет, какому элементу присваивается значение, начиная с позиции индекса 0. Количество элементов в массиве определяется количеством значений внутри фигурных скобок.

Для получения значения элемента используется его индекс:

System.out.println («Значение первого элемента равно« + lotteryNumbers [0]); 

Чтобы узнать, сколько элементов в массиве, используйте поле длины:

System.out.println ("Массив lotteryNumbers имеет" + lotteryNumbers.length + "elements"); 

Замечания: Распространенная ошибка при использовании метода длины - забыть, что использовать значение длины как позицию индекса Это всегда приведет к ошибке, поскольку позиции индекса массива от 0 до длины - 1.

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

Массивы, которые мы рассматривали до сих пор, известны как одномерные (или одномерные) массивы. Это означает, что они имеют только один ряд элементов. Однако массивы могут иметь более одного измерения. Многомерный на самом деле массив, который содержит массивы:

int [] [] lotteryNumbers = {{16,32,12,23,33,20}, {34,40,3,11,33,24}}; 

Индекс для многомерного массива состоит из двух чисел:

System.out.println («Значение элемента 1,4 равно» + lotteryNumbers [1] [4]); 

Хотя длина массивов, содержащихся в многомерном массиве, не обязательно должна быть одинаковой длины:

String [] [] names = new String [5] [7]; 

Копирование массива

Для копирования массива проще всего использовать

ArrayCopy
метод класса System.
ArrayCopy
Метод может быть использован для копирования всех элементов массива или их подраздела. Передано пять параметров
 ArrayCopy
метод - исходный массив, индексная позиция, с которой начинается копирование элемента, новый массив, индексная позиция, с которой начинается вставка, количество копируемых элементов:
public static void arraycopy (Object src, int srcPos, Object dest, int destPos, int length)

Например, чтобы создать новый массив, содержащий последние четыре элемента

ИНТ 
массив:
int [] lotteryNumbers = {16,32,12,23,33,20};
int [] newArrayNumbers = new int [4];
System.arraycopy (lotteryNumbers, 2, newArrayNumbers, 0, 4);

Поскольку массивы имеют фиксированную длину,

ArrayCopy
Метод может быть полезным способом изменить размер массива.

Чтобы расширить свои знания о массивах, вы можете узнать о том, как управлять массивами с помощью массивов. класс и создание динамических массивов (то есть массивов, когда число элементов не является фиксированным числом) с использованием Класс ArrayList.