AnyLogic
Развернуть
Размер шрифта

Переменные (локальные переменные и поля класса)

Здесь мы будем рассматривать только простые переменные Java.

В зависимости от того, где объявлена переменная, это может быть:

  • Локальная переменная — вспомогательная временная переменная, существующая только во время выполнения определенной функции или блока операторов — строк кода, или
  • Переменная класса(или поле класса — более точный термин Java) — переменная, присутствующая в любом объекте класса, время жизни которой равно времени жизни объекта.

Локальные (временные) переменные

Локальные переменные объявляются в таких разделах Java кода, как блок, оператор цикла или тело функции. Они создаются и инициализируются при начале выполнения секции кода и уничтожаются после завершения его выполнения. Объявление состоит из типа переменной, имени и необязательной инициализации. Объявление представляет собой оператор (statement), поэтому его нужно заканчивать точкой с запятой. Например:

double sum = 0; // вещественная переменная sum, изначально равна 0
int k; // целочисленная переменная k, не проинициализирована
String msg = ok ? "OK" : "Not OK"; // текстовая переменная msg, проинициализированная выражением

Локальные переменные можно объявить и использовать в тех полях AnyLogic, в которых задаются действия (последовательности операторов — строк кода), таких, как действие При запуске типа агента, Действие событий и переходов, Действие при входе и Действие при выходе состояний, действиях При входе и При выходе библиотечных объектов. В приведенном на рисунке ниже примере переменные sum и p объявляются в коде действия события endOfYear и существуют только во время выполнения этого фрагмента кода.

Локальные переменные, объявленные в коде Действия события

Переменные класса (поля)

Переменные Java (поля) типа агента являются частью «памяти» или «состояния» агентов. Они могут быть объявлены как графически (с помощью элемента простая переменная), так и в коде.

Переменная агента, объявленная в графическом редакторе

На рисунке выше переменная income типа int объявлена в типе агента (или эксперимента). Тип доступа — public, поэтому она будет доступна отовсюду. Начальное значение: 10000. Графическое объявление переменной эквивалентно строке кода, которую можно написать, например, в Дополнительном коде класса в секции Java для экспертов свойств типа агента, см. рисунок ниже:

Аналогичная переменная, объявленная в Дополнительном коде класса

Графическое объявление переменной позволяет вам визуально объединять их вместе со схожими по назначению функциями и объектами, а также просматривать и изменять значение переменной в режиме выполнения модели одним щелчком.

Как мы можем улучшить эту статью?