
Змінні використовуються для зберігання та маніпуляції даними у програмі. Вони мають ім'я, яке використовується для звернення до них, і значення, яке вони зберігають. Змінні можуть змінювати своє значення під час виконання програми. Наприклад, у програмі можна оголосити змінну age
і присвоїти їй значення 23
, а потім використовувати цю змінну для перевірки умови if(age >= 18)
.
Динамічна типізація
Mash Script є динамічно типізованою мовою, тому тип змінної може змінюватися під час її життєвого циклу. Проте, зміна типу змінної може призвести до неочікуваної поведінки програми та складнощів у розумінні коду. Тому рекомендується робити це лише якщо це абсолютно необхідно і ви розумієте наслідки цієї дії.
1. Оголошення змінних
Оголошення змінної - це процес введення нової змінної в програму. Інтерпретатор виділить пам'ять для зберігання значення змінної. Після оголошення змінну можна ініціалізувати, тобто присвоїти їй початкове значення.
1.1. Синтаксис оголошення змінної
Щоб оголосити змінну, необхідно вказати її тип та ім’я:
ТИП ІМ'Я; // Крапка з комою обов`язкова.
Де:
ТИП— це один із типів Mash Script (наприклад,
number
абоstring
).ІМ'Я — це ім’я змінної.
Типи даних, які використовуються для оголошення змінних:
int
- для цілих чисел, наприклад:int age = 18;
float
- для чисел з плаваючою комою, наприклад:float price = 19.99;
number
- для чисел узагальненого типу, який може включати цілі числа, числа з плаваючою комою.string
- для рядків тексту, наприклад:string name = "John";
boolean
- для значень true або false, наприклад:boolean isAdult = true;
Інші.
За замовчуванням, при оголошенні, змінні отримують значення null
, що позначає відсутність значення або посилання на об'єкт. Такий підхід дає можливість явно вказати, що змінна (ІМ’Я
) повинна бути певного типу (ТИП
), але, поки що, не ініціалізована значенням.
1.2. Приклад оголошення
// Оголошення змінної floor, цілого числового типу
int floor;
// Оголошення змінної pi, дробового типу
float pi;
// Оголошення змінної msg, рядкового типу
string msg;
// Оголошення булевої змінної is_prime
boolean is_prime;
У цьому випадку, наприклад, змінна msg
буде мати значення null
, але дає можливість явно вказати, що змінна повинна бути типу string
.
2. Ініціалізація змінної
Ініціалізація змінної - це процес виділення пам'яті для зберігання значення змінної та присвоєння їй початкового значення.
2.1. Загальний синтаксис ініціалізації
Щоб ініціалізувати змінну, необхідно вказати тип, ім’я і присвоїти їй значення:
ТИП ІМ'Я = ЗНАЧЕННЯ;
Де:
ТИП— це один із типів Mash Script.
ІМ'Я — це ім’я змінної.
ЗНАЧЕННЯ - початкове значення змінної.
2.2. Приклад ініціалізації
// Оголошення змінної floor, цілого числового типу, із значенням 4
int floor = 4;
// Оголошення змінної pi, із значенням 3.14
float pi = 3.14;
// Оголошення змінної msg, із значенням "Привіт, світ!"
string msg = "Привіт, світ!";
// Оголошення змінної is_prime, із значенням false (хиба)
boolean is_prime = false;
2.3. Ініціалізація після оголошення
В Mash Script можна спочатку оголосити змінну, а потім ініціалізувати її значенням:
// Оголошення змінної age
int age;
// Ініціалізація змінної age, із значенням 21
age = 21;
// Аналогічно із змінною рядкового типу:
string name;
name = 'Роман';
2.4. Обмеження
У Mash Script змінну можна оголошувати лише один раз, але її значення можна змінювати пізніше в коді. Одноразове оголошення змінної гарантує, що змінна буде відома тільки у межах області видимості, де вона була оголошена, і уникне конфліктів імен. Наприклад:
// Перше оголошення змінної x
int x;
// Допустимо: змінюємо значення змінної x
x = 20;
// Неприпустимо: оголошення змінної x вже було зроблено
int x = 30;
2.5. Приклад програми
Напишемо Ехо програму, використовуючи змінні:
import { * } from stdl;
void main()
{
// Зберігаємо рядок, який введе користувач, до змінної text
string text = In.line("-> "); // Метод line повертає радок
// Друкуємо рядок, що міститься в зміній text
Out.println(text);
}
Ця програма зчитує рядок, введений користувачем, та виводить його на екран консолі. Вона використовує метод In.line("-> ")
для зчитування рядка з консолі з підказкою "-> "
і зберігає його в змінну text
типу string
. Потім вона використовує метод Out.println(text)
для виведення зчитаного рядка на екран консолі.

3. Зміна змінної
Після ініціалізації змінну можна змінити, просто присвоївши їй нове значення. Це дає можливість динамічно змінювати дані, з якими працює програма, у процесі її виконання.
// Оголошення та ініціалізація змінної із значенням 25
int age = 25;
// Зміна значення змінної на 30
age = 30;
У цьому прикладі спочатку змінна age
ініціалізується значенням 25
, а потім її значення змінюється на 30
. Якщо ж ви присвоїте нове значення існуючій змінній, воно просто перезапише попереднє значення. Наприклад:
// Оголошення та ініціалізація змінної x
int x = 10;
// Зміна значення змінної x на 20
x = 20;
// Зміна значення змінної x на 30 (попереднє значення 20 буде замінено)
x = 30;
Читати далі
Друк змінних.
Константи.
Змінні та незмінні типи даних.
Область бачення змінних.
Оператори +=, -= та інші.
Інкремент і декремент.
Вказівники.
Ключове слово mutable.
Унарний оператор “->”.
Ключове слово delete.