Негизги айырмасы – Ороочу классы менен Javaдагы примитивдик тип
Java - ар кандай тиркемелерди иштеп чыгуу үчүн колдонулган популярдуу программалоо тили. Javaнын бир артыкчылыгы - объектке багытталган программалоону (OOP) колдойт. OOP колдонуп, программаны же программаны объектилер аркылуу моделдештирүүгө болот. Класс объектти түзүү үчүн план катары колдонулат. Программалоодо маалыматтарды сактоо зарыл. Маалыматтарды сактоо үчүн сакталган эстутум жерлери өзгөрмөлөр деп аталат. Ар бир өзгөрмө белгилүү бир маалымат түрү бар. Java тили тарабынан берилген сегиз примитивдүү түрү бар. Алар кыска, байт, int, float, double, char, логикалык. Кээде примитивдик типти объектке, ал эми объектти кайра примитивдүү түргө айландыруу талап кылынат. Бул өзгөртүү үчүн орогуч класстары колдонулат. Бул макалада Java-дагы орогуч классы менен примитивдүү типтин ортосундагы айырма талкууланат. Java'дагы орогуч классы менен примитивдүү типтин ортосундагы негизги айырма, орогуч классы примитивдик типти объектке жана объектти кайра примитивдүү түргө айландыруу үчүн колдонулат, ал эми примитивдик тип Java программалоо тили тарабынан берилген алдын ала аныкталган маалымат түрү.
Javaда Wrapper классы деген эмне?
Javaдагы Wrapper классы примитивдүү маалымат түрүн объектке жана объектти примитивдүү түргө айландыруу үчүн колдонулат. Ал тургай, примитивдүү берилиштер типтери баштапкы маалыматтардын түрлөрүн, массив тизмелери жана векторлор сыяктуу маалымат структуралары объекттерди сактоо үчүн колдонулат. Ошондуктан, конвертациялоо үчүн орогуч класстарды колдонуу талап кылынат. Char, byte, short жана int примитивдик түрлөрү үчүн тиешелүү орогуч класстары Character, Byte, Short, and Integer болуп саналат. Long, float, double жана буль үчүн тиешелүү оромо класстары Узак, Float, Double жана Boolean болуп саналат.
01-сүрөт: Wrapper класстарын примитивдик типтерге айландыруучу Java программасы
Жогорудагы программага ылайык, tobj бүтүн сандык орогуч классынын объектиси. floatobj Float орогуч классынын объектиси. Doubleobj бул Double wrapper классынын объектиси. Integer объекти intValue () аркылуу примитивдик intке айландырылат. Ошо сыяктуу эле, Float объекти floatValue() аркылуу примитивдик флотка айландырылат. Double объекти doubleValue () аркылуу примитивдик кошко айландырылат. Эгерде программист билдирүүнү int i=intobj деп жазса; компилятор ичине bj. Value() жазат. Ороо классынын объектисин анын тиешелүү примитивдик түрүнө автоматтык түрдө айландыруу процесси кутудан чыгаруу деп аталат. ArrayLists сыяктуу коллекциялар Wrapper классын колдонушат, анткени алар объекттерди сакташат.
Java'да примитивдик тип деген эмне?
Примитивдүү берилиштердин түрлөрү Java программалоо тили тарабынан берилген алдын ала аныкталган маалымат түрлөрү. Сегиз примитивдүү түрү бар. Алар байт, кыска, инт, узун, float, кош, логикалык жана char. Байт маалымат түрү 8-бит кол коюлган эки толуктоочу бүтүн санды сактоо үчүн колдонулат. Кыска маалымат түрү 16-бит кол коюлган эки толуктоочу бүтүн санды сактоо үчүн колдонулат. Int маалымат түрү 32 биттик кол коюлган эки толуктоочу бүтүн санды сактоо үчүн колдонулат, ал эми узун маалымат түрү 64 биттик эки толуктоочу бүтүн санды сактоо үчүн колдонулат. Калкыма бир тактыктагы 32 биттик калкыма чекиттин маанисин сактоо үчүн колдонулат жана кош эки тактыктагы 64 биттик калкыма чекиттин маанисин сактоо үчүн колдонулат. Буль чыныгы же жалганды көрсөтүү үчүн колдонулат. Белги бир символду сактоо үчүн колдонулат. Булар Javaдагы сегиз примитивдүү типтер.
02-сүрөт: Примитивдик типтерди Wrapper класстарына айландыруучу Java программасы
Жогорудагы программага ылайык, num1 – int түрү. Ал Integer.valueOf() дегенге num1 өтүү аркылуу бүтүн санга айландырылат. float1 float маанилерин сактай алат. Ал Float түрүнө float1ди Float.valueOf() өткөрүп берүү менен өзгөртүлөт. Ошо сыяктуу эле, double1 кош маанилерди сактай алат. Double1ди Double.valueOf()га өткөрүү менен Double түрүнө айландырылат. Эгерде программист билдирүүнү Interger intobj=num1 деп жазса; компилятор ички Integer.valueOf(num1) жазат; Примитивдик типти тиешелүү орогуч классынын объектисине автоматтык түрдө айландыруу процесси автобокс деп аталат.
Wrapper классы менен Javaдагы примитивдик типтин кандай окшоштугу бар?
Жавадагы Wrapper классы да, Примитивдик түрү да программалоодо маалыматтарды сактоо үчүн колдонулушу мүмкүн
Wrapper классы менен Javaдагы примитивдик типтин ортосунда кандай айырма бар?
Wrapper классы жана Javaдагы примитивдик тип |
|
Wrapper классы примитивдүү түрдү объектке жана объектти примитивдүү түргө айландыруу механизмин камсыз кылат. | Примитивдүү тип Java тарабынан берилген алдын ала аныкталган маалымат түрү. |
Байланыштуу класс | |
Объектти түзүү үчүн Wrapper классы колдонулат; демек, анын тиешелүү классы бар. | Примитивдик тип объект эмес, андыктан класска таандык эмес. |
Нөл маанилер | |
Ороо классынын объекттери нөл маанилерге жол берет. | Примитивдүү берилиштер нөл маанилерге жол бербейт. |
Эстутум керектелет | |
Талап кылынган эстутум примитивдүү түрлөргө караганда жогору. Кластердик индекс кошумча орун талап кылбайт. | Талап кылынган эстутум каптоочу класстарга салыштырмалуу азыраак. |
Жыйнактар | |
Wrapper классын ArrayList ж.б. сыяктуу коллекциялар менен колдонсо болот. | Примитивдүү түр жыйнактарда колдонулбайт. |
Кыскача – Ороочу классы жана Javaдагы примитивдик тип
Java тили сегиз примитивдүү маалымат түрүн камсыз кылат. Кээде примитивдик типтерди объектке, ошондой эле объекттерди кайра примитивдерге айландыруу талап кылынат. Бул тапшырмага жетүү үчүн Wrapper класстарын колдонсо болот. Java'дагы орогуч классы менен примитивдүү типтин айырмасы, орогуч классы примитивдик типти объектке жана объектти кайра примитивдүү түргө айландыруу үчүн колдонулат, ал эми примитивдик тип Java программалоо тили тарабынан берилген алдын ала аныкталган маалымат түрү.