O’zgaruvchilar – bu ma’lumot qiymatini o’zida saqlovchi idish. O’zgaruvchi biror ma’lumot turi bilan e’lon qilinadi. O’zgaruvchi bu xotiradagi biror adresning nomi.
Oddiy qilib tushuntiradigan bo’lsak, o’zgaruvchi – ma’lum bir turdagi ma’lumotni o’zida saqlovchi va o’lchami chegaralangan idish. Tushunarliroq bo’lishi uchun bir ikkita hayotiy misollar keltiramiz: meva solish uchun tayyorlangan savatga suv sola olmaymiz o’zgaruvchilar ham shunday bir turdagi o’zgaruvchi uchun ajratilgan joyga boshqa turdagi o’zgaruvchini saqlay olmaymiz.
4 litrlik idishga 5 litr suv quya olmaymiz, chunki idishga 4 litr suv sig’adi. O’z o’zidan kelib chiqadiki 5 litrlik suvni saqlash uchun kattaroq idish tanlashimiz kerak. O’zgaruvchilar ham shunday ma’lumotning o’lchami xotiradan ajratilgan joydan oshib ketsa dastur xatolik yuz beradi.
O’zgaruvchi e’lon qilish
Java dasturlash tilida barcha o’zgaruvchilar foydalanishdan oldin e’lon qilinishi kerak. O’zgaruvchi e’lon qilish uchun unga ma’lumot turi va qiymat belgilanadi.
Sintaksisi quyidagicha:
malumotturi ozgaruvchiNomi = qiymat;
Bu yerda malumotturi Java dasturlash tilining ma’lumot turlaridan biri (masalan, String yoki int) va ozgaruvchiNomi o’zgaruvchiga berilgan nom. Teng (=) belgisi o’zgaruvchiga qiymat berish uchun ishlatiladi.
float simpleInterest;
// kasr sonli o’zgaruvchi e’lon qilish
int time = 10, speed = 20;
// butun sonli o’zgaruvchi e’lon qilish va dastlabki qiymatini yuklash.
char var = 'h';
// belgili o’zgaruvchi e’lon qilish va dastlabki qiymatini yuklash.
Quyidagi esa satrli o’zgaruvchini e’lon qilish va uni chop etishga misol bo’la oladi.
String websayt = "uzbekdevs.uz";
System.out.println(websayt);
Java dasturlash tilida o’zgaruvchilarning 3 xil turi mavjud: local, instance, static.
1. Lokal o’zgaruvchi - bu biror blok yoki metod ichida (tanasida) e’lon qilingan o’zgaruvchi hisoblanadi. Bu o’zgaruvchi faqat o’sha metod ichida mavjud bo’ladi. Lokal o’zgaruvchi hech qachon “static” kalit so’zi bilan qilinmaydi. Blokdan chiqqandan keyin bu o’zgaruvchi yo’qoladi. Lokal o’zgaruvchidan foydalanishdan oldin unga qiymat berish shart. Lokal o’zgaruvchilar modifikatorlarsiz ishlatiladi.
2. Instance o’zgaruvchi - sinf ichida, biroq biror metod yoki blok ichida bo’lmagan va static sifatida e’lon qilinmagan o’zgaruvchi. Sinfdan obyekt yaratilganda bu o’zgaruvchi ham yaratiladi va xotiradan joy band qiladi. Obyekt o’chirilganda instance o’zgaruvchi ham yo’qoladi. Instance o’zgaruvchilar modifikatorlar bilan ishlatiladi. Agar modifikator belgilanmasa, default modifikator beriladi.
3. Statik o’zgaruvchi – “static” kalit so’zi bilan e’lon qilingan va local bo’lmagan o’zgaruvchi. Static o’zgaruvchining bitta nusxasi yaratilishi va o’sha sinfning barcha obyektlari orasida qo’llanilishi mumkin. Statik o’zgaruvchi sinf yaratilganda faqat bir martagina xotiradan joy band qiladi.
O’zgaruvchilarga misollar ko’rib chiqamiz:
public class A
{
static int m=100;//static o’zgaruvchi
void method()
{
int n=90;//local o’zgaruvchi
}
public static void main(String args[])
{
int data=50;//instance o’zgaruvchi
}
}