Одномерные массивы в Java - Вопросы
Всего: 6 вопросов
1. Что такое одномерный массив в Java?
Что такое одномерный массив в Java?
Одномерный массив — это структура данных, позволяющая хранить группу однотипных значений (список переменных одного типа) под общим именем. К каждому элементу обращаются по индексу, причём индексация начинается с нуля.
2. Как объявить и создать массив с помощью ключевого слова new?
Как объявить и создать массив с помощью ключевого слова new?
Сначала объявляется переменная массива, а память под элементы выделяется оператором new, после которого указывают тип и размер в квадратных скобках. Объявление и инициализацию можно совместить в одной строке:
int[] values = new int[45];
Рекомендуемый стиль — ставить квадратные скобки после типа (int[] values), а не после имени переменной.
3. Какие значения получают элементы массива сразу после создания через new?
Какие значения получают элементы массива сразу после создания через new?
Каждому элементу присваивается значение по умолчанию для базового типа массива: у целочисленных типов (byte, short, int, long) это 0, у float и double — 0.0, у char — нулевой символ '\u0000', у boolean — false, а у ссылочных типов (например, String) — null.
4. Чем блок инициализации массива отличается от безымянного (анонимного) массива?
Чем блок инициализации массива отличается от безымянного (анонимного) массива?
Блок инициализации перечисляет значения в фигурных скобках, а размер компилятор выводит сам; но он допустим только при объявлении переменной:
int[] monthDays = {31, 28, 31, 30};
Если нужно переприсвоить массив позже или передать его прямо в метод, используют безымянный (анонимный) массив — комбинацию new и блока инициализации:
testScores = new int[]{4, 7, 2};
print(new int[]{4, 6, 2, 3});
5. Как узнать длину массива и почему обращение по несуществующему индексу опасно?
Как узнать длину массива и почему обращение по несуществующему индексу опасно?
Длину массива (количество элементов) даёт поле length — именно поле, а не метод, поэтому пишется без скобок: array.length. Так как индексация начинается с нуля, индекс последнего элемента равен length - 1. При обращении по несуществующему индексу компилятор ошибку не покажет, но во время выполнения программа завершится с исключением ArrayIndexOutOfBoundsException.
6. Можно ли изменить размер массива после его создания?
Можно ли изменить размер массива после его создания?
Нет. Размер массива в Java задаётся при создании и не может быть изменён. Чтобы «расширить» массив, создают новый массив большего размера и копируют в него элементы (например, методом Arrays.copyOf). Если количество элементов заранее неизвестно или должно меняться, используют коллекции, например ArrayList.