Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Справочная информация. Для объявления массива, в отличие от объектов других типов, не требуется предварительно задавать классДля объявления массива, в отличие от объектов других типов, не требуется предварительно задавать класс, и иметь специальное имя для данного объектного типа. Вместо имени класса при объявлении переменной используется имя базового типа, после которого идут пустые квадратные скобки. Например, объявление int[] a1;задает переменную a1 типа массив. При этом размер массива (число ячеек в нем) заранее не задается и не является частью типа. Для того, чтобы определить объект типа массив, следует воспользоваться зарезервированным словом new, после чего указать имя базового типа, а за ним в квадратных скобках число ячеек в создаваемом массиве(длину массива): a1=new int[10];Можно совместить объявление типа переменной и определение массива: int[] a1=new int[10];Ячейки в массиве имеют индексы, всегда начинающиеся с нуля. То есть первая ячейка имеет номер 0, вторая – номер 1, и так далее. Если число элементов в массиве равно n, то последняя ячейка имеет индекс n-1. Такая своеобразная нумерация принята в языках C и C++, и язык Java унаследовал эту не очень привлекательную особенность, часто приводящую к ошибкам при организации циклов. Длина массива хранится в поле length, которое доступно только по чтению – изменять его путем присваивания нового значения нельзя. Пример работы с массивом: int[] a=new int[100];for(int i=0;i<a.length;i++){ a[i]=i+1;};Если у нас имеется переменная типа массив, и ей сопоставлен массив заданной длины, в любой момент этой переменной можно сопоставить новый массив. Например, a1=new int[20];При этом прежний объект-массив, находящийся в динамической области памяти, будет утерян и превратится в мусор. Переменные типа массив можно присваивать друг другу. Например, если мы задали переменную int[] a2;то сначала в ней хранится значение null (ссылка направлена "в никуда"): Присваивание a2=a1;приведет к тому, что ссылочные переменные a1 и a2 будут ссылаться на один и тот же массив, расположенный в динамической области памяти. То есть присваивание переменных типа массив приводит к тому, что имена переменных становятся синонимами одного и того же массива – копируется адрес массива. А вовсе не приводит к копированию элементов из одного массива в другой, как это происходит в некоторых других языках программирования. В качестве элементов массивов могут выступать объекты. В этом случае доступ к полям и методам этих объектов производится через имя ячейки массива, после которого через точку указывается имя поля или метода.
После объявления и определения массива его требуется инициализировать – записать нужные значения в ячейки. До сих пор мы делали это путем задания значений в цикле по некоторой формуле, однако часто требуется задать конкретные значения. Конечно, можно это сделать в виде int[] a=new int[4];a[0]=2;a[1]=0;a[2]=0;a[3]=6;Но гораздо удобнее следующий вариант синтаксиса: int[] a=new int[] {2,0,0,6};При этом приходится задавать массив без указания его размера непосредственно с помощью указания значений в фигурных скобках: В правой части оператора присваивания стоит так называемый анонимный массив – у него нет имени. Такие массивы обычно используют для инициализации, а также при написании кода для различного рода проверок. Если мы хотим присвоить новые значения, приходится либо присваивать поэлементно, либо создавать новый объект: a=new int[] {2,0,0,6};
|