Asosiy farq – oʻrash sinfi va Java-dagi ibtidoiy tur
Java - bu turli xil ilovalarni ishlab chiqish uchun ishlatiladigan mashhur dasturlash tili. Java tilining afzalligi shundaki, u ob'ektga yo'n altirilgan dasturlashni (OOP) qo'llab-quvvatlaydi. OOP yordamida dastur yoki dasturiy ta'minotni ob'ektlar yordamida modellashtirish mumkin. Sinf ob'ektni yaratish uchun chizma sifatida ishlatiladi. Dasturlashda ma'lumotlarni saqlash kerak. Ma'lumotlarni saqlash uchun zahiralangan xotira joylari o'zgaruvchilar deb nomlanadi. Har bir o'zgaruvchi ma'lum bir ma'lumot turiga ega. Java tili tomonidan taqdim etilgan sakkizta ibtidoiy tur mavjud. Ular qisqa, bayt, int, float, double, char, mantiqiy. Ba'zan, ibtidoiy turni ob'ektga va ob'ektni ibtidoiy turga aylantirish talab qilinadi. Ushbu konvertatsiya qilish uchun o'rash sinflari ishlatiladi. Ushbu maqolada Java-da o'rash sinfi va ibtidoiy tur o'rtasidagi farq muhokama qilinadi. Java-dagi o'rash sinfi va ibtidoiy tur o'rtasidagi asosiy farq shundaki, o'rash sinfi ibtidoiy turni ob'ektga va ob'ektni yana ibtidoiy turga aylantirish uchun ishlatiladi, primitiv tip esa Java dasturlash tili tomonidan taqdim etilgan oldindan belgilangan ma'lumotlar turidir.
Javada Wrapper klassi nima?
Java-dagi Wrapper klassi ibtidoiy ma'lumotlar turini ob'ektga va ob'ektni primitiv turga aylantirish uchun ishlatiladi. Hatto ibtidoiy ma'lumotlar turlari ham asosiy ma'lumotlar turlarini, Massivlar ro'yxati va Vektorlar kabi ma'lumotlar tuzilmalarini saqlash uchun ishlatiladi. Shuning uchun, konvertatsiya qilish uchun o'rash sinflaridan foydalanish talab etiladi. Char, bayt, short va int ibtidoiy turlari uchun mos o'rash sinflari Character, Byte, Short va Integer hisoblanadi. Long, float, double va mantiqiy uchun mos o'rash sinflari Long, Float, Double va Boolean.
01-rasm: Oʻram sinflarini ibtidoiy turlarga oʻzgartiruvchi Java dasturi
Yuqoridagi dasturga koʻra inobj Integer wrapper sinfi obyektidir. floatobj Float wrapper sinf ob'ektidir. Doubleobj - bu Double wrapper sinf ob'ekti. Integer obyekti intValue () yordamida primitiv int ga aylantiriladi. Xuddi shunday, Float obyekti floatValue() yordamida ibtidoiy floatga aylantiriladi. Double obyekti doubleValue () yordamida ibtidoiy doublega aylantiriladi. Agar dasturchi bayonotni int i=intobj shaklida yozsa; kompilyator ichkaridabj. Value() ni yozadi. O'rash sinfi ob'ektini avtomatik ravishda uning mos keladigan ibtidoiy turiga aylantirish jarayoni unboxing deb nomlanadi. ArrayLists kabi toʻplamlar Wrapper sinfidan foydalanadi, chunki ular obyektlarni saqlaydi.
Javada ibtidoiy tur nima?
Ibtidoiy ma'lumotlar turlari Java dasturlash tili tomonidan taqdim etilgan oldindan belgilangan ma'lumotlar turlaridir. Sakkiz ibtidoiy tur mavjud. Ular bayt, qisqa, int, uzun, float, double, mantiqiy va chardir. Bayt ma'lumotlar turi 8 bitli imzolangan ikkita to'ldiruvchi butun sonni saqlash uchun ishlatiladi. Qisqa ma'lumotlar turi 16 bitli imzolangan ikkita to'ldiruvchi butun sonni saqlash uchun ishlatiladi. Int ma'lumotlar turi 32 bitli imzolangan ikkita to'ldiruvchi butun sonni saqlash uchun ishlatiladi, uzun ma'lumotlar turi esa 64 bitli ikkita to'ldiruvchi butun sonni saqlash uchun ishlatiladi. Float bitta aniqlikdagi 32-bitli suzuvchi nuqta qiymatini saqlash uchun ishlatiladi va ikki barobar aniqlikdagi 64-bitli suzuvchi nuqta qiymatini saqlash uchun ishlatiladi. Boolean to'g'ri yoki yolg'onni ifodalash uchun ishlatiladi. Belgi bitta belgini saqlash uchun ishlatiladi. Bular Java tilidagi sakkiz ibtidoiy tur.
02-rasm: ibtidoiy turlarni oʻrash sinflariga aylantiruvchi Java dasturi
Yuqoridagi dasturga muvofiq, num1 int turi hisoblanadi. U 1 raqamini Integer.valueOf() ga uzatish orqali butun songa aylantiriladi. float1 float qiymatlarini saqlashi mumkin. Float1 ni Float.valueOf() ga o'tkazish orqali Float turiga aylantiriladi. Xuddi shunday double1 ham ikkilangan qiymatlarni saqlashi mumkin. Double1 ni Double.valueOf() ga o'tkazish orqali Double turiga aylantiriladi. Agar dasturchi bayonotni Interger intobj=num1 shaklida yozsa; kompilyator ichida Integer.valueOf(num1) yozadi; Primitiv turni mos keladigan oʻram sinfi obʼyektiga avtomatik ravishda aylantirish jarayoni autoboxing deb nomlanadi.
Java-da oʻrash sinfi va ibtidoiy tur oʻrtasidagi oʻxshashlik nimada?
Dasturlashda ma'lumotlarni saqlash uchun Java-dagi Wrapper klassi va Primitive Type-dan foydalanish mumkin
Java-da oʻrash sinfi va ibtidoiy tur oʻrtasidagi farq nima?
Wrapper klassi va Java'dagi ibtidoiy tur |
|
Wrapper klassi ibtidoiy turni ob'ektga va ob'ektni ibtidoiy turga aylantirish mexanizmini taqdim etadi. | Ibtidoiy tur Java tomonidan taqdim etilgan oldindan belgilangan ma'lumotlar turidir. |
Assotsiatsiyalangan sinf | |
Obyekt yaratish uchun Wrapper sinfidan foydalaniladi; shuning uchun u tegishli sinfga ega. | Ibtidoiy tur ob'ekt emas, shuning uchun u sinfga tegishli emas. |
Nul qiymatlar | |
Oʻram sinfi obyektlari null qiymatlarga ruxsat beradi. | Birlamchi ma'lumotlar turi null qiymatlarga ruxsat bermaydi. |
Kerakli xotira | |
Talab qilinadigan xotira ibtidoiy turlardan kattaroq. Klasterli indeks qoʻshimcha joy talab qilmaydi. | Talab qilinadigan xotira oʻram sinflari bilan solishtirganda kamroq. |
Toʻplamlar | |
Wrapper sinfidan ArrayList va boshqalar kabi kolleksiyalar bilan foydalanish mumkin. | Toʻplamlarda ibtidoiy tur ishlatilmaydi. |
Xulosa – oʻrash klassi va Java-dagi ibtidoiy tur
Java tili sakkizta ibtidoiy ma'lumotlar turini taqdim etadi. Ba'zan ibtidoiy turlarni ob'ektga aylantirish, shuningdek, ob'ektlarni ibtidoiylarga aylantirish talab qilinadi. Ushbu vazifani bajarish uchun o'rash sinflaridan foydalanish mumkin. Java-dagi o'rash sinfi va ibtidoiy tur o'rtasidagi farq shundaki, o'rash sinfi ibtidoiy turni ob'ektga va ob'ektni yana ibtidoiy turga aylantirish uchun ishlatiladi, ibtidoiy tip esa Java dasturlash tili tomonidan taqdim etilgan oldindan belgilangan ma'lumotlar turidir.