Tiplarni keltirish
Tiplarni keltirish (type casting) ma'lum tipdagi o'zgaruvchi boshqa tidagi
qiymat qabo’l qilganda foydalaniladi. Ba'zi tiplar uchun keltirish avtomatik
ravishda bajariladi. V Java tilida avtomatik tiplarni keltirish o'zgaruvchi tipi
hajmi qiymatni saqlashga etarli bo'lganda bajariladi. Bu jarayon kengaytirish
(widening) yoki yuksaltirish (promotion) deb ataladi, chunki, kichik razryadli tip
katta razryadli tipga kengaytiriladi. Masalan int tipi byte tipidagi qiymatni
saqlashga etarli, shuning uchun tiplarni keltirish talab qilinmaydi. Teskarisi
mumkin emas, shuning uchun byte tipidagi o'zgaruvchi int tipidagi qiymatni
qabo’l qilishi uchun, tiplarni keltirish operatoridan foydalanish lozim. Bu jarayon
toraytirish (narrowing) deb ataladi, chunki translyatorga qiymatni o'zgartirish
haqida oshkor ma'lumot beriladi. Buning uchun dumaloq qavs ichida tip nomi
ko'rsatiladi. Masalan:
int a = 100;
byte b = (byte) a;
Agar suzuvchi qavsli sonni eng yaqin butun songa keltirish lozim bo'lsa
Math.round usulidan foydalaniladi.
double x = 9.997;
int nx = (int)Math.round(x) ;
Endi nx o'zgaruvchi qiymati 10 ga teng. Lekin round usulidan
foydalanilgan tiplarni keltirish operatoridan foydalanish lozim chunki bu usul
long tipidagi qiymatni qaytaradi.
Sonni bir tipdan ikkinchisiga keltirishda natija zarur diapazondan chiqib
ketishi mumkin, bu holda natija qisqartiriladi. Masalan (byte) 300 ifoda qiymati
44 ga teng.
Mantiqiy va butun tiplar orasida keltirish mumkin. Ba'zi hollarda mantiqiy
qiymatni butun qiymatga keltirish uchun shartli ifodadan foydalanish mumkin,
masalan b q 1 : 0.
Do'stlaringiz bilan baham: |