Почему при создании массива используется new, так же как при создании обьекта:
int[ ] a = new int [100]; //если так, то обьект a экземпляр какого класса
Почему не так:
int[ ] a = 100;
Pourquoi pas? Возможных вариантов синтаксиса создания массива много
int[] a = new int[100];
int[] a = int[100];
int[] a = [100];
, выбрали какой-то один, так сложилось исторически.
В каком-нибудь другом языке могли бы выбрать и Ваш вариант, но в контексте Java у него есть существенные недостатки:
для массива используется то же значение, что и для числа, что приводит к путанице:
//переменная и создание массива могут быть на разных строках
int[] a;
int b;
//много кода
a = 100; //догадайтесь, что из них что
b = 100;
//еще веселее с элементами массива
a[0] = 100;
a = 100; //забыл квадратные скобки и весь массив пересоздан.
нет [очевидной] возможности сразу заполнить массив
//сейчас можно так:
int[] a = new int[]{1,2,3};
//и так
someMethod(new int[]{1,2,3});
//а будет
int[] a = 3; //???
someMethod(3); //???
непонятно как создавать массивы массивов:
//сейчас
int[][] a = new int[100][];
//потом
a = ???
Судя по всему, Вы несколько путаете объявление переменной (int[] a
) и создание массива (new int[100]
) с чем и связаны недостатки. Это две разные операции, которые могут выполняться отдельно друг от друга.
Все эти недостатки можно так или иначе обойти (добавить условия, спецсимволы и т.д.) и получить годный к употреблению синтаксис. Но на вопрос: «почему делается так, а не иначе?» ответ будет тот же: «Так сложилось исторически».
Создание массива производится с помощью следующей конструкции: new тип_данных[количество_элементов]
, где new
- ключевое слово, выделяющее память для указанного в скобках количества элементов. Например, nums = new int[4];
- в этом выражении создается массив из четырех элементов int
, и каждый элемент будет иметь значение по умолчанию - число 0.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я уже битый час не могу понять, что с этим кодом не так! Иконка не устанавливается, Путь перепроверил всеми возможными и невозможными способамиЧто...
есть форма с отправкой данных на е-майлПри заполнение и отправке надо что бы пользователю открывался файл который находится по адресу /lessons/l1
начал изучать canvas и столкнулся с проблемой, рисования с помощю canvas мышкой onmousedown, onmousemove, onmouseup работает а для touchpanel iPad использовал touchstart, touchmove,...