Можно ли создать массив примитивных типов данных? - PullRequest
0 голосов
/ 07 января 2019

При создании массива класса в Java существует три шага: объявление, создание экземпляра и инициация. Но при создании массива примитивных типов данных создается или инициируется ключевое слово new ?

Мне показалось, что это сбивает с толку, так как во многих местах слово instantiate используется только для массива класса / классов. Итак, я хочу знать, используется ли этап создания экземпляра для массива типа данных PRIMITIVE . Или же весь оператор инициации массива выглядит так, как показано ниже.

int intArray[];    //declaring array
intArray = new int[20];  // allocating memory to array

Ответы [ 2 ]

0 голосов
/ 12 января 2019

Может ли быть создан массив примитивного типа данных?

Да.

Инстанцирует или инициирует ключевое слово new в new int[20]

В этом примере он создает экземпляр массива примитивов и инициализирует it 1 значением по умолчанию для типа примитива; то есть ноль для массива примитивного числового типа и false для массива boolean.

С другой стороны:

int intArray[];

- это объявление переменной массива, а не инициализация переменной или создание массива. Если это объявление локальной переменной, компилятор не позволит вам использовать переменную, пока она не будет назначена. Если это поле, то переменная будет по умолчанию инициализирована как null; то есть массив не создается.

Java не позволяет программе получить доступ к переменной или элементу массива, который не был инициализирован ни явно, ни с помощью по умолчанию инициализации. Это фундаментальное свойство языка.


1 - правильный термин инициализировать НЕ инициировать . Инициировать (на английском языке) означает «начать» (например, действие или процесс) или «допустить (кого-то) в тайное или непонятное общество или группу, обычно с ритуалом». Это не имеет значения в этом контексте.

0 голосов
/ 12 января 2019

В Java, когда мы создаем массив примитивов (например, new int[10]), элементы в массиве инициализируются со значением по умолчанию этого примитива. (Значение по умолчанию для int равно 0, значение по умолчанию для boolean равно false и т. Д.)

Когда мы создаем экземпляр массива объектов (например, String массив), элементы в массиве инициализируются с null.

См. Ниже программу и ее вывод.

public class PrimitiveArray
{
  public static void main(String[] args)
  {
    int[] intArray = new int[10];
    boolean[] booleanArray = new boolean[10];
    String[] stringArray = new String[10];

    System.out.println("intArray[3] = " + intArray[3]);
    System.out.println("booleanArray[3] = " + booleanArray[3]);
    System.out.println("stringArray[3] = " + stringArray[3]);
  }
}

Вывод:
intArray[3] = 0
booleanArray[3] = false
stringArray[3] = null

...