Processing:Справочник языка Processing/Array: различия между версиями
Myagkij (обсуждение | вклад) |
Нет описания правки |
||
Строка 2: | Строка 2: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= Array <ref>[https://processing.org/reference/Array.html processing.org - Array]</ref>= | = Array <ref>[https://processing.org/reference/Array.html processing.org - Array]</ref>= | ||
Строка 8: | Строка 8: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
Array | Array | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 22: | Строка 22: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
datatype[] var | datatype[] var | ||
var[element] = value | var[element] = value | ||
Строка 30: | Строка 30: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
datatype - любой примитивный или составной тип данных, включая пользовательские классы. | datatype - любой примитивный или составной тип данных, включая пользовательские классы. | ||
var - любое допустимое имя переменной. | var - любое допустимое имя переменной. | ||
Строка 41: | Строка 41: | ||
===№1=== | ===№1=== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
int[] numbers = new int[3]; | int[] numbers = new int[3]; | ||
numbers[0] = 90; // Присваиваем значение первому элементу массива | numbers[0] = 90; // Присваиваем значение первому элементу массива | ||
Строка 52: | Строка 52: | ||
===№2=== | ===№2=== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
int[] numbers = { 90, 150, 30 }; // Альтернативный синтаксис | int[] numbers = { 90, 150, 30 }; // Альтернативный синтаксис | ||
int a = numbers[0] + numbers[1]; // Присваиваем значение 240 переменной 'a' | int a = numbers[0] + numbers[1]; // Присваиваем значение 240 переменной 'a' | ||
Строка 60: | Строка 60: | ||
===№3=== | ===№3=== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
int degrees = 360; | int degrees = 360; | ||
float[] cos_vals = new float[degrees]; | float[] cos_vals = new float[degrees]; | ||
Строка 72: | Строка 72: | ||
===№4=== | ===№4=== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
float[] randoms = new float[100]; | float[] randoms = new float[100]; | ||
for (int i = 0; i < randoms.length; i++) { | for (int i = 0; i < randoms.length; i++) { | ||
Строка 100: | Строка 100: | ||
=См.также= | =См.также= | ||
=Внешние ссылки= | =Внешние ссылки= | ||
Строка 120: | Строка 120: | ||
|Высота логотипа издателя для schemaNewsArticle=45 | |Высота логотипа издателя для schemaNewsArticle=45 | ||
}} | }} | ||
{{Навигационная таблица/ | {{Навигационная таблица/Портал/Processing}} | ||
Версия от 12:02, 20 мая 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
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
int[] numbers = new int[3];
numbers[0] = 90; // Присваиваем значение первому элементу массива
numbers[1] = 150; // Присваиваем значение второму элементу массива
numbers[2] = 30; // Присваиваем значение третьему элементу массива
int a = numbers[0] + numbers[1]; // Присваиваем значение 240 переменной 'a'
int b = numbers[1] + numbers[2]; // Присваиваем значение 180 переменной 'a'
№2
int[] numbers = { 90, 150, 30 }; // Альтернативный синтаксис
int a = numbers[0] + numbers[1]; // Присваиваем значение 240 переменной 'a'
int b = numbers[1] + numbers[2]; // Присваиваем значение 180 переменной 'a'
№3
int degrees = 360;
float[] cos_vals = new float[degrees];
// Используйте цикл for() для быстрого
// перебора всех значений массива
for (int i=0; i < degrees; i++) {
cos_vals[i] = cos(TWO_PI/degrees * i);
}
№4
float[] randoms = new float[100];
for (int i = 0; i < randoms.length; i++) {
randoms[i] = random(100);
}
// Можно также использовать расширенный цикл
// для доступа к элементам массива
for (float val : randoms) {
println(val);
}
// Это также работает с массивами объектов,
// но не при первом создании массива
PVector[] vectors = new PVector[5];
for (int i = 0; i < vectors.length; i++) {
vectors[i] = new PVector();
}
// Синтаксис применяется только при итерации
// по существующему массиву
for (PVector v : vectors) {
point(v.x, v.y);
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |