У Java змінні — це контейнери даних, які зберігають значення даних під час виконання програми Java. Кожній змінній у Java присвоюється тип даних, який визначає тип і кількість значення, яке вона може містити. Змінна — це ім’я розташування пам’яті для даних.
Змінні в Java
Змінна Java - це ім'я, дане ділянці пам'яті. Це основна одиниця зберігання в програмі.
- Значення, що зберігається в змінній, можна змінити під час виконання програми.
- Змінні в Java - це лише ім'я, яке дається ділянці пам'яті. Усі операції, виконані зі змінною, впливають на цю область пам’яті.
- У Java всі змінні мають бути оголошені перед використанням.
Як оголосити змінні в Java?
Ми можемо оголосити змінні в Java, як зображено нижче, як візуальну допомогу.
Із зображення легко зрозуміти, що під час оголошення змінної нам потрібно подбати про дві речі:
- тип даних : Тип даних, які можна зберігати в цій змінній.
- ім'я_даних: Змінній дано ім’я.
Таким чином ім’я можна присвоїти лише ділянці пам’яті. Йому можна присвоїти значення двома способами:
- Ініціалізація змінної
- Призначення значення шляхом введення
Як ініціалізувати змінні в Java?
Його можна сприйняти за допомогою 3 компонентів, а саме:
- тип даних : Тип даних, які можна зберігати в цій змінній.
- ім'я_змінної : ім’я змінної.
- значення : це початкове значення, яке зберігається у змінній.
Ілюстрації:
// Declaring float variable float simpleInterest; // Declaring and initializing integer variable int time = 10, speed = 20; // Declaring and initializing character variable char var = 'h';>
Типи змінних в Java
Тепер давайте обговоримо різні типи змінних, які перераховані як слідує:
- Локальні змінні
- Змінні екземпляра
- Статичні змінні
Давайте детально обговоримо ознаки кожного типу змінної, переліченої тут.
1. Локальні змінні
Змінна, визначена в блоці, методі чи конструкторі, називається локальною змінною.
- Ці змінні створюються, коли вводиться блок, або функція викликається та знищується після виходу з блоку, або коли виклик повертається з функції.
- Область цих змінних існує лише в блоці, в якому оголошено змінні, тобто ми можемо отримати доступ до цих змінних лише в цьому блоці.
- Ініціалізація локальної змінної є обов’язковою перед її використанням у визначеній області.
Часова складність методу:
Time Complexity: O(1) Auxiliary Space: O(1)>
Нижче наведено реалізацію вищезазначеного підходу:
Java
перевести рядок як int
// Java Program to implement> // Local Variables> import> java.io.*;> class> GFG {> >public> static> void> main(String[] args)> >{> >// Declared a Local Variable> >int> var =>10>;> >// This variable is local to this main method only> >System.out.println(>'Local Variable: '> + var);> >}> }> |
>
>Вихід
Local Variable: 10>
приклад:
Java
package> a;> public> class> LocalVariable {> >public> static> void> main(String[] args)> >{> >// x is a local variable> >int> x =>10>;> >// message is also a local> >// variable> >String message =>'Hello, world!'>;> >System.out.println(>'x = '> + x);> >System.out.println(>'message = '> + message);> >if> (x>>5>) {> >// result is a> >// local variable> >String result =>'x is greater than 5'>;> >System.out.println(result);> >}> >// Uncommenting the line below will result in a> >// compile-time error System.out.println(result);> >for> (>int> i =>0>; i <>3>; i++) {> >String loopMessage> >=>'Iteration '> >+ i;>// loopMessage is a local variable> >System.out.println(loopMessage);> >}> >// Uncommenting the line below will result in a> >// compile-time error> >// System.out.println(loopMessage);> >}> }> |
>
>
Вихід:
message = Hello, world! x is greater than 5 Iteration 0 Iteration 1 Iteration 2>
2. Змінні екземпляра
Змінні екземпляра є нестатичними змінними та оголошуються в класі поза будь-яким методом, конструктором або блоком.
- Оскільки змінні екземпляра оголошуються в класі, ці змінні створюються, коли створюється об’єкт класу, і знищуються, коли об’єкт знищується.
- На відміну від локальних змінних, ми можемо використовувати специфікатори доступу для змінних екземплярів. Якщо ми не вкажемо жодного специфікатора доступу, буде використано специфікатор доступу за умовчанням.
- Ініціалізація змінної екземпляра не є обов'язковою. Його значення за умовчанням залежить від типу даних змінної. для Рядок Це є нуль, для плавати це є 0.0f, для внутр Це є 0. для класів Wrapper, таких як Ціле число Це є нульовий тощо.
- Змінні екземпляра можна отримати лише шляхом створення об’єктів.
- Ми ініціалізуємо змінні екземпляра за допомогою конструктори під час створення об’єкта. Ми також можемо використовувати блоки примірників для ініціалізації змінних екземпляра.
Складність методу:
Time Complexity: O(1) Auxiliary Space: O(1)>
Нижче наведено реалізацію вищезазначеного підходу:
Java
// Java Program to demonstrate> // Instance Variables> import> java.io.*;> class> GFG {> >// Declared Instance Variable> >public> String geek;> >public> int> i;> >public> Integer I;> >public> GFG()> >{> >// Default Constructor> >// initializing Instance Variable> >this>.geek =>'Shubham Jain'>;> >}> >// Main Method> >public> static> void> main(String[] args)> >{> >// Object Creation> >GFG name =>new> GFG();> >// Displaying O/P> >System.out.println(>'Geek name is: '> + name.geek);> >System.out.println(>'Default value for int is '> >+ name.i);> > >// toString() called internally> >System.out.println(>'Default value for Integer is '> >+ name.I);> >}> }> |
>
>Вихід
Geek name is: Shubham Jain Default value for int is 0 Default value for Integer is null>
3. Статичні змінні
Статичні змінні також відомі як змінні класу.
- Ці змінні оголошуються подібно до змінних екземплярів. Різниця полягає в тому, що статичні змінні оголошуються за допомогою ключового слова static у класі поза будь-яким методом, конструктором або блоком.
- На відміну від змінних екземплярів, ми можемо мати лише одну копію статичної змінної на клас, незалежно від того, скільки об’єктів ми створюємо.
- Статичні змінні створюються на початку виконання програми та автоматично знищуються після завершення виконання.
- Ініціалізація статичної змінної не є обов'язковою. Його значення за умовчанням залежить від типу даних змінної. для Рядок Це є нуль , для плавати Це є 0,0f , для внутр Це є 0 , для Класи-обгортки люблю Ціле число Це є нуль, тощо
- Якщо ми отримуємо доступ до статичної змінної, наприклад до змінної екземпляра (через об’єкт), компілятор покаже попереджувальне повідомлення, яке не призведе до зупинки програми. Компілятор автоматично замінить назву об’єкта назвою класу.
- Якщо ми отримуємо доступ до статичної змінної без назви класу, компілятор автоматично додасть назву класу. Але для доступу до статичної змінної іншого класу ми повинні згадати ім’я класу, оскільки 2 різні класи можуть мати статичну змінну з однаковою назвою.
- Статичні змінні не можна оголошувати локально всередині методу екземпляра.
- Статичні блоки можна використовувати для ініціалізації статичних змінних.
Складність методу:
Time Complexity: O(1) Auxiliary Space: O(1)>
Нижче наведено реалізацію вищезазначеного підходу:
Java
// Java Program to demonstrate> // Static variables> import> java.io.*;> class> GFG {> >// Declared static variable> >public> static> String geek =>'Shubham Jain'>;> > >public> static> void> main(String[] args)> >{> >// geek variable can be accessed without object> >// creation Displaying O/P GFG.geek -->використовуючи>> >// static variable> >System.out.println(>'Geek Name is : '> + GFG.geek);> >// static int c=0;> >// above line,when uncommented,> >// will throw an error as static variables cannot be> >// declared locally.> >}> }> |
>
>Вихід
Geek Name is : Shubham Jain>
Відмінності між змінними екземпляра та статичними змінними
Тепер давайте обговоримо відмінності між змінними екземпляра та статичними змінними:
- Кожен об’єкт матиме власну копію змінної екземпляра, тоді як ми можемо мати лише одну копію статичної змінної на клас, незалежно від того, скільки об’єктів ми створюємо. Таким чином, статичні змінні підходять для пам'ять управління .
- Зміни, внесені в змінну екземпляра за допомогою одного об’єкта, не будуть відображені в інших об’єктах, оскільки кожен об’єкт має власну копію змінної екземпляра. У випадку зі статичною змінною зміни будуть відображені в інших об’єктах, оскільки статичні змінні є спільними для всіх об’єктів класу.
- Ми можемо отримати доступ до змінних екземплярів через посилання на об’єкти, а до статичних змінних можна отримати прямий доступ за допомогою імені класу .
- Змінні екземпляра створюються, коли об’єкт створюється за допомогою ключового слова «новий», і знищуються, коли об’єкт знищується. Статичні змінні створюються під час запуску програми та знищуються, коли програма зупиняється.
Синтаксис: Статичні та екземплярні змінні
class GFG { // Static variable static int a; // Instance variable int b; }> Висновок
Нижче наведено важливі моменти, про які слід пам’ятати в статтях:
- Змінні в Java — це контейнер даних, який зберігає значення даних під час виконання програми Java.
- У Java є три типи змінних: локальні змінні, статичні змінні та змінні екземпляра.
Поширені запитання щодо змінних у Java
Q1. Що таке змінні в Java?
Змінні — це контейнери в Java, які можуть зберігати значення даних у них.
Q2. Які 3 типи змінних є в Java?
Нижче згадано три типи змінних у Java:
- Локальні змінні
- Статичні змінні
- Змінні екземпляра
Q3. Як оголосити змінні в прикладах Java?
Ми можемо оголосити змінні в java з синтаксисом, як зазначено нижче:
data_type variable_name;>приклад:
// Integer datatype with var1 name int var1;>
Необхідно прочитати:
- Правила оголошення змінних у Java
- Область змінних у Java
- Порівняння статичних ключових слів у C++ і Java
- Чи дозволені в Java статичні локальні змінні?
- Приховування змінної екземпляра в Java