Processing:Справочник языка Processing/Array

Материал из Онлайн справочника
Перейти к: навигация, поиск

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


Array [1]

Обозначение

Array

Описание

Массив - это список данных. Можно создать массив любых типов данных. Каждый фрагмент данных в массиве идентифицируется номером индекса, представляющим его позицию в массиве. Первый элемент в массиве - [0], второй - [1] и т.д. Массивы похожи на объекты, поэтому они должны быть созданы с ключевым словом new.

У каждого массива есть переменная length, которая представляет собой целочисленное значение общего количества элементов в массиве. Обратите внимание: поскольку нумерация индекса начинается с нуля (не 1), в массиве с length равным 5 ссылка на последнее значение будет array[4] (то есть length минус 1), а не array[5], что вызовет ошибку.

Другим распространенным источником путаницы является разница между использованием length, чтобы получить размер массива и length(), чтобы получить размер строки. Обратите внимание на наличие круглых скобок при работе со строками (array.length - это переменная, а String.length() - метод, специфичный для класса String).

Синтаксис

datatype[] var
var[element] = value
var.length

Параметры

datatype - любой примитивный или составной тип данных, включая пользовательские классы.
var      - любое допустимое имя переменной.
element  - тип int:не должно превышать длину массива минус 1.
value    - данные, присваиваемые элементу массива; должен иметь тот же тип данных, что и массив.

Пример

№1

  1. int[] numbers = new int[3];
  2. numbers[0] = 90;                  // Присваиваем значение первому элементу массива
  3. numbers[1] = 150;                 // Присваиваем значение второму элементу массива
  4. numbers[2] = 30;                  // Присваиваем значение третьему элементу массива
  5. int a = numbers[0] + numbers[1];  // Присваиваем значение 240 переменной 'a'
  6. int b = numbers[1] + numbers[2];  // Присваиваем значение 180 переменной 'a'

№2

  1. int[] numbers = { 90, 150, 30 };  // Альтернативный синтаксис
  2. int a = numbers[0] + numbers[1];  // Присваиваем значение 240 переменной 'a'
  3. int b = numbers[1] + numbers[2];  // Присваиваем значение 180 переменной 'a'

№3

  1. int degrees = 360;
  2. float[] cos_vals = new float[degrees];
  3. // Используйте цикл for() для быстрого
  4. // перебора всех значений массива
  5. for (int i=0; i < degrees; i++) {        
  6.   cos_vals[i] = cos(TWO_PI/degrees * i);
  7. }

№4

  1. float[] randoms = new float[100];
  2. for (int i = 0; i < randoms.length; i++) {
  3.   randoms[i] = random(100);
  4. }
  5.  
  6. // Можно также использовать расширенный цикл
  7. // для доступа к элементам массива
  8. for (float val : randoms) {
  9.   println(val);
  10. }
  11.  
  12. // Это также работает с массивами объектов,
  13. // но не при первом создании массива
  14. PVector[] vectors = new PVector[5];
  15. for (int i = 0; i < vectors.length; i++) {
  16.   vectors[i] = new PVector();
  17. }
  18.  
  19. // Синтаксис применяется только при итерации
  20. // по существующему массиву
  21. for (PVector v : vectors) {
  22.   point(v.x, v.y);
  23. }

См.также

Внешние ссылки

  1. processing.org - Array