Darsliklar Java O`zgarmaslar

Java Java O`zgarmaslar

O’zgarmaslar (final) — bir marta belgilangach, qayta o’zgartirib bo’lmaydigan qiymatlar. Ba’zi qiymatlar tabiatan doimiy: pi soni, hafta kunlari soni, soliq stavkasi. Ularni o’zgarmas qilish tasodifan o’zgartirib yuborishdan himoya qiladi va kod maqsadini aniqroq ifodalaydi.

finalo’zgaruvchini o’zgarmas qiladigan kalit so’z. final bilan e’lon qilingan qiymatni bir marta berilgandan so’ng qayta o’zlashtirib bo’lmaydi.

final kalit so’zi

O’zgarmas e’lon qilish uchun tur oldiga final qo’yiladi. Bunday qiymatni o’zgartirishga urinish kompilyatsiya xatosiga olib keladi:

public class Main {
    public static void main(String[] args) {
        final double PI = 3.14159;
        final int KUNLAR = 7;

        System.out.println("Pi: " + PI);
        System.out.println("Haftada " + KUNLAR + " kun");
    }
}
Pi: 3.14159
Haftada 7 kun

Agar keyin PI = 3; deb yozsangiz, kompilyator “cannot assign a value to final variable” degan xato beradi. Aynan shu himoya final ning asosiy foydasidir.

Nega o’zgarmas ishlatish kerak?

final ning ikki muhim afzalligi bor. Birinchidan, u xatoning oldini oladi — muhim qiymat tasodifan o’zgarmaydi. Ikkinchidan, u kodni o’qiladigan qiladi:

public class Main {
    public static void main(String[] args) {
        final double SOLIQ = 0.12;
        double narx = 50000;
        double soliqli = narx + narx * SOLIQ;
        System.out.println("Soliqli narx: " + soliqli);
    }
}
Soliqli narx: 56000.0

Agar soliq stavkasi o’zgarsa, uni faqat bitta joyda tuzatasiz — bu katta loyihalarda bebaho.

Nomlash konvensiyasi

Java’da o’zgarmaslar odatda UPPER_CASE bilan yoziladi, so’zlar pastki chiziq bilan ajratiladi. Bu ularni oddiy o’zgaruvchilardan darrov ajratib turadi:

Turi Nomlash uslubi Misol
Oddiy o’zgaruvchi camelCase foydalanuvchiYoshi
O’zgarmas (final) UPPER_CASE MAX_QIYMAT

Amalda:

public class Main {
    public static void main(String[] args) {
        final int MAX_QIYMAT = 100;
        final String KOMPANIYA = "UzbekDevs";
        System.out.println(KOMPANIYA + ", limit: " + MAX_QIYMAT);
    }
}
UzbekDevs, limit: 100

final va referens turlar

Nozik nuqta: final referens turga qo’llansa, o’zgaruvchi boshqa obyektga ishora qila olmaydi, ammo obyektning ichini o’zgartirish mumkin. Bu, masalan, final massivga qo’llanganda muhim: massivni yangisiga almashtirib bo’lmaydi, lekin uning elementlarini o’zgartirsa bo’ladi.

Xulosa

Bu bo’limda final bilan o’zgarmas qiymat e’lon qilish, uning xato oldini olish va o’qiluvchanlik afzalliklari, UPPER_CASE nomlash konvensiyasi va referens turlar bilan noziklik’ni ko’rib chiqdik. Doimiy qiymat uchun doim final ishlating. Keyingi darsda operatorlar — qiymatlar ustidagi amallarga o’tamiz.