JavaRush /Java блог /Random UA /Змінні Java і константи

Змінні Java і константи

Стаття з групи Random UA
Для розуміння мови Java дуже важливо розуміти його синтаксис. Одна з його ключових, фундаментальних цеглинок — це змінні.

Що таке змінна в Java

Змінна Java — це контейнер, в якому може зберігатися деяке значення даних для подальшого використання в програмі. По суті, змінна — це мінімальна неподільна одиниця Java-додатка. Змінні в Java бувають двох видів: призначені для дрібних даних (примітивні змінні) і більш складних, важких (посилальні змінні). Сьогодні ми розглянемо перший випадок, коли змінні зберігають саме значення даних. Такі змінні називають примітивними. Примітивні змінні Java і константи - 1

Оголошення змінних у Java

Давайте розглянемо такий приклад:
int x = 9;
Розберемо, що ми бачимо: intтип змінної, що описує цілі числа, що знаходяться в проміжку -2147483648 до 2147483647 x- ім'я змінної (нам же потрібно їх відрізняти між собою, вірно?) = знак привласнення якоїсь змінної, якогось значення 9- її безпосередньої значення ;кінець цієї команди А тепер зберемо все разом: ми задаємо, що змінна типу intз ім'ям xмає значення 9. Даний приклад має скорочену форму запису, повна виглядає так:
int x;
x = 9;
У першому рядку ми бачимо оголошення змінної з присвоєнням їй імені, тобто цим говоримо JVM виділити місце під змінну int(4 байти) і задати їй ім'я x. У другій ми задаємо їй значення 9. До цього вона мала значення, встановлене за умовчанням, саме — 0. Варто сказати кілька слів про назву змінних. Як правило вони пишуться в нижньому верблюжому стилі. Тобто, наприклад, якщо ми маємо змінну, яка описує кількість людей (count of people), відповідне для неї ім'я буде:
int countOfPeople;
У цій назві перше слово починається з малої (маленької) літери, а кожне наступне - з великої (великої). Це робиться для зручності читання таких імен, тому що зазвичай імена змінних складаються з більш ніж одного слова.

Перевизначення змінних

Повернемося до нашого прикладу з оголошенням змінної:
int x = 9;
Якщо ми одного разу поклали в змінну якесь значення, це означає, що під час виконання програми змінна xзавжди матиме значення 9. Ми можемо її перезаписати:
x = 4;
Все майже так само, але ми вже не додаємо тип ( int), адже він прописаний при оголошенні змінної (оголошенні про її існування). Далі ми лише її перевикористовуємо, як тут ми бачимо її перезапис (задаємо нашої змінної нове значення, затираючи старе). Припустимо, що в нас ще виникла змінна:
int y = 7;
І запитавши: x = y; Старе значення змінної xбуде видалено, перезаписавшись копією значення y, а саме — 7. Також можна задати значення якоїсь іншої змінної, збільшене на потрібне число:
x = y + 5;
Так як у нас змінна yдорівнювала 7, в результаті xбуде дорівнює 12. Цікавіша можливість виконати дані дії:
x = x + 6;
Що ми тут бачимо? Змінною xзадається значення, що дорівнює минулому, збільшеному на 6, тобто це буде: 12 + 6 = 18. Цей запис можна скоротити, опустивши x:
x =+ 6;

Види змінних

Додаток у Java складається з класів та об'єктів. Розглянемо, якими бувають Java змінні:
  • змінні об'єкти;
  • локальні змінні;
  • змінні класу.
Примітивні змінні Java і константи - 2Як клас-приклад ми візьмемо клас собаки з методом “гавкати”:
public class Dog {
   public void bark() {
   }
}

Змінні об'єкти

Змінні оголошуються у класі, але при цьому не в методі, конструкторі чи блоці.
public class Dog {
public  int value = 9;
   public void bark() {
   }
}
Щоб викликати цю змінну, нам потрібно спочатку створити об'єкт:
Dog dog = new Dog();
dog.value;
Змінні створюються лише після створення об'єкта (тобто після створення об'єкта з допомогою new). В об'єкті внутрішні змінні завжди видимі всім методів, конструктора чи чогось усередині цього об'єкта. Як говорилося вище, змінні об'єкта мають значення за замовчуванням. Для числа значення за умовчанням - 0, для логічних (boolean) - false, для посилань на об'єкт - null.

Локальні змінні

Дані змінні оголошуються методами, конструкторах чи блоках.
public class Dog {
   public void bark() {
   int value = 9;
   }
}
Локальні змінні існують лише у викликаному блоці коду, при закінченні якого вони видаляються з пам'яті. Вони видно лише в межах оголошеного методу, конструктора чи блоку. Тобто використовувати змінну, наприклад, в іншому методі не можна. Модифікатори доступу не можна використовувати для локальних змінних. Який у них сенс, якщо далі меж методу змінну не видно? Цей вид змінних створюється, коли метод (чи конструктор, чи блок) викликається і знищується після завершення.

Змінні класи

Цей вид змінних ще називають статичними. Вони оголошуються зі словом-модифікатором static, але поза методом, конструктора чи блока.
public class Dog {
public static  int value = 9;
   public void bark() {
   }
}
Викликаємо нашу змінну:
Dog.value
Де Dogце ім'я класу, до якого прикріплена змінна. Значення за умовчанням таке саме, як і змінних об'єкта. Для стандартних чисел це 0, для boolean — false; для посилань на об'єкт – null. Статична змінна завжди одна, незалежно від того, скільки об'єктів створено із класу, адже вона кріпиться лише до класу. Змінні класи створюються під час запуску програми та знищуються, коли виконання програми завершено. Статичні змінні Java часто використовуються, коли оголошуються як константи. Про них поговоримо докладніше.

Що таке константи в Java

Константа — це задані фіксовані значення, які не повинні змінюватися. А що таке константи у програмуванні? Це деяке постійне значення, яке відоме до початку роботи програми, при цьому він задається в коді один раз. У Java константи - це змінні, позначені спеціальним словом - final:
final int VALUE = 54;
Тут ми отримуємо змінну, яку не можна змінити після завдання будь-якого значення. Справа в тому, що константи набагато простіше, ніж змінні. Вони завжди однозначно визначені та ніколи не змінюються. Трохи вище ми говорабо про назву змінних, і нам варто приділити увагу і особливостям іменування констант. У константних змінних усі слова пишуться ВЕЛИКИМИ літерами, що розділяються за допомогою знака підкреслення _ Наприклад, нам потрібна константа, що описує максимальне значення для чогось:
final int MAX_VALUE = 999;
Отже, підсумуємо: Змінна надається нам як місце зберігання наших даних (або адресаа місця), що дозволяє керувати програмою. Змінні примітивний тип мають певний формат даних, розмір, діапазон значень, які можуть зберігатися в пам'яті. Змінні можна розділяти за місцезнаходженням: змінні об'єкта, локальні, класу. Існує особливий вид змінних - константи, які можуть бути глобальними, змінними. Їхня область видимості — вся програма.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ