O’zgaruvchilar — dasturlashning eng bazaviy tushunchasi. Har qanday ma’lumot — foydalanuvchi ismi, mahsulot narxi, hisob natijasi — o’zgaruvchida saqlanadi. Java’da o’zgaruvchi turi majburiy e’lon qilinadi; bu tilning qat’iyligi va ishonchliligining sababi.
O’zgaruvchi — xotiraning nomlangan, ma’lum turdagi qiymatni saqlaydigan qismi. Java’da har bir o’zgaruvchining turi oldindan aniqlanadi.
O’zgaruvchi e’lon qilish
Java’da o’zgaruvchi tur nom = qiymat; shaklida e’lon qilinadi:
public class Main {
public static void main(String[] args) {
int yosh = 26;
double narx = 15000.50;
String ism = "Master Sherkulov";
System.out.println(ism + ", " + yosh + " yosh");
System.out.println("Narx: " + narx);
}
}
Master Sherkulov, 26 yosh
Narx: 15000.5
Turni oldin yozish shart: int yosh — butun son, String ism — matn. Java turni qiymatga qarab o’zi aniqlamaydi (Python’dan farqli).
E’lon va qiymat berishni ajratish
O’zgaruvchini avval e’lon qilib, keyin qiymat berish mumkin:
public class Main {
public static void main(String[] args) {
int son; // e'lon qilindi
son = 42; // qiymat berildi
son = 100; // qiymat o'zgartirildi
System.out.println(son);
}
}
100
Diqqat: Java’da qiymat berilmagan mahalliy o’zgaruvchini ishlatib bo’lmaydi — kompilyator xato beradi. Bu himoya “axlat” qiymatlardan saqlaydi.
var — turni avtomatik aniqlash
Java 10 dan boshlab var kalit so’zi paydo bo’ldi. U turni qiymatdan avtomatik aniqlaydi, biroq baribir qat’iy tur saqlanadi:
public class Main {
public static void main(String[] args) {
var ism = "Farrux"; // String deb aniqlanadi
var yosh = 26; // int deb aniqlanadi
System.out.println(ism + ": " + yosh);
}
}
Farrux: 26
var kodni qisqartiradi, ammo tur baribir belgilanadi — ism doim String bo’lib qoladi. Bu Python’ning dinamik turidan farq qiladi.
Turlar farqidan kelib chiqadigan natija
Turni chalkashtirish Java’da xatolarga olib keladi. Masalan, butun sonlar bo’lishida kasr qismi yo’qoladi:
public class Main {
public static void main(String[] args) {
int butun = 7 / 2; // butun bo'lish
double kasr = 7.0 / 2; // kasr bo'lish
System.out.println("butun: " + butun);
System.out.println("kasr: " + kasr);
}
}
butun: 3
kasr: 3.5
7 / 2 — ikkala son ham int bo’lgani uchun natija butun (3); 7.0 / 2 da esa double ishtirok etgani uchun aniq kasr (3.5) chiqdi. Bu nozik farqni yodda tuting.
Xulosa
Bu bo’limda Java’da o’zgaruvchi e’lon qilish, turlarni belgilash, var bilan avtomatik aniqlash va tur farqidan kelib chiqadigan natijalarni ko’rib chiqdik. Java’da tur — qat’iy shartnoma. Keyingi darsda o’zgarmaslar — final ga o’tamiz.