Верно ли, что каждый массив, который инициализируется во время выполнения, является динамическим, и каждый массив, который инициализируется во время компиляции, является статическим?Java - статическая и динамическая инициализация массива
, например:
int array[];
public main() {
array = new int[100];
}
компилятор знает, сколько элементов в массиве, поэтому он может initilize его во время компиляции правильно? или мне нужно дать каждому int значение, чтобы оно стало статическим? так:
int array[3] { 1, 2, 3};
и это определить Возможное количество элементов массива должно быть вне основной функции()? (без указания каждого значения):
int array[100];
public main() {
}
Я программирую небольшую игру, и она должна работать очень быстро. Я читаю динамические массивы, нужно немного дольше обрабатывать, поэтому я хочу попробовать его со статическими массивами, но я не уверен, когда массив становится статическим или динамическим. Я искал много разных учебников, но я не мог найти ответа на это.
спасибо за чтение.
спасибо за то, что подробно answer :), теперь у меня есть еще один быстрый вопрос: array2 статический (array2 = new int [20], без последующего назначения), но когда я инициализирую array2 следующим образом: array2 = new int [k]; и k - переменная, которая определена во время выполнения, чем массив 2 является динамическим справа? (без последующего назначения) – Jebeto
Да, новый int [x] обычно динамический, но .. переменную «new int [x]» можно было бы * еще * называть семантически статичной, если программа не может изменить решение, однажды сделанное (например, вы читаете x из файла конфигурации при запуске). – Durandal
ОК еще раз спасибо, похоже, что вы много знаете о программировании, thats awsome :) – Jebeto