a+=5; <==> a=a+5; a-=5; <==> a=a-5; a*=5; <==> a=a*5; a/=5; <==> a=a/5; a%=5; <==> a=a%5; «<==>» belgi teng kuchli degani bo‘lib, chap va o‘ng tomondagi amallar bir xil ma’noga egaligini bildiradi. Dasturda, «a+=5» yoki «a=a+5» buyruqlaridan birini ishlatish mumkin.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class test{
public static void main(String args[]) {
int a=18;
int b=44;
int c=15;
int d=99;
int i=22;
a+=5;
b-=5;
c*=5;
d/=5;
i%=5;
System.out.println (a);
System.out.println (b);
System.out.println (c);
System.out.println (d);
System.out.println (i);
}
}
Natija quyidagi ko‘rinishda bo‘ladi.
Bu operatorlar dasturchi uchun quyidagi afzalliklarni beradi:
— kodlarni qisqartirish(a=a+5 o‘rniga a+=5);
— bu qisqartirilgan kod, yoyilib yozilgan kodga qaraganda tezroq ishlaydi. Professionallar asosan qisqartmalardan foydalanishadi.
Inkrement bu — faqat bitta operand uchun ishlatilib, uning qiymatini bittaga oshirish uchun ishlatiladi va «++» ko‘rinishida bo‘ladi.
Dekrement bu — faqat bitta operand uchun ishlatilib, uning qiymatini bittaga kamaytirish uchun ishlatiladi va «—» ko‘rinishida bo‘ladi.
YUqoridagilar quyidagi ma’nolarni anglatadi.
x++; <==> x=x+1; x—; <==> x=x-1; Inkrement va dekrement operatorlar 2 xil formada ishlatilishi mumkin: prefiks, postfiks. Prefiks ko‘rinishida, «++x» tarzida yozilib, dastlab qiymat bittaga oshiriladi va biror amalda ishlatiladi. Postfiks formasida, «x++» tarzida yozilib, dastlab biror amal bajariladi, so‘ng qiymat bittaga oshiriladi. Misol,
1
2
3
4
5
6
7
8
9
10
11
12
class test{
public static void main(String args[ ]) {
int a=50;
int b=40;
int c=++a;
int d=b++;
System.out.println (a);
System.out.println (b);
System.out.println (c);
System.out.println (d);
}
}
«a» o‘zgaruvchiga 50 soni o‘zlashtirilmoqda va inkrement operatorni(++a) ishlatib, bittaga oshirilmoqda va natija 51 ga teng bo‘lmoqda.
«b» O‘zgaruvchiga 40 soni o‘zlashtirilmoqda va inkrement operatorni(b++) ishlatib, bittaga oshirilmoqda va natija 51 ga teng bo‘lmoqda, lekin eski qiymati «d» o‘zgaruvchiga o‘zlashtirildi(dastlab o‘zlashtirildi, so‘ng bittaga oshirildi). Shuning uchun «d» o‘zgaruvchi 40 qiymatga ega bo‘ldi.
«c» o‘zgaruvchi esa, «a«ning yangi qiymatini oldi, chunki prefiks ko‘rinishi ishlatildi, ya’ni dastlab bittaga oshirildi, so‘ng «c» o‘zgaruvchiga o‘zlashtirildi.
Java dasturlash tilida bit bo‘yicha amalga oshiriladigan amallar, «long«, «int«, «short,», «char«, «byte» kabi butun tiplar uchun qo‘llanlishi mumkin. Bitga oid amallarni tushunish uchun, java dasturlash tilida, butun tiplar qay holda saqlanishini bilib olish lozim.
Java kompilyatorida, barcha butun tiplar ikkilik tizimda namoyon bo‘ladi(0 va 1 lardan iborat ketma-ketlik). Ikkilik qiymatlar uzunligi tanlangan tipga qarab har xil uzunlikda bo‘lishi mumkin. Misol uchun, «byte» tipi kompyuter xotirasidan 1 baytni oladi(tip va ular oladigan joy), ya’ni 8 bit(1 bayt 8 bit yoki 8 razryad). 1 bit, bitta0 yoki 1 degani, demak «byte» tipi 8 razryadli hisoblanib, bu uchun 8 xonalik 0 va 1 lar ishlatilishi mumkin. Shu asosida, «short» tipi 2 bayt yoki 16 razryadli hisoblanadi, «int» — 32 razryad, «char» — 16 razryad.
Misol uchun, 42 sonini olamiz. Bu son «byte«tipi deb e’lon qilindi. Ikkilik sanoq tizimida bu son 00101010ko‘rinishida bo‘ladi. Ko‘rib turganingizdek, bu son «byte» tipida 8 ta razryadga ega. Endi bu sonni «int» tipida e’lon qilindi deylik, bu holda 42 soni 0000000000101010 ko‘rinishda bo‘ladi. Raqam 16 razryadga ega bo‘ldi(int tipi 16 razryad 2 baytga teng). Xulosa qiladigan bo‘lsak, tanlangan tipga qarab, qiymat kompyuter xotirasidan turlicha joy olar ekan.
Ikkilik tizimda, 0 va 1 lar ikki soni darajasi shaklida namoyon qilib(chunki 2 lik tizim), ularni o‘zimizning 10 lik tizimiga o‘girishimiz mumkin. YUqoridagi 42 sonini olaylik, u quyidagicha ikki soni darajasida yoziladi(byte tipida, 8 razryad).
O‘ng tomondan boshlab, ikki darajalari qo‘yib chiqiladi(0 dan boshlab). Dastlab, o‘ng tomonda «2″ning «0″chi darajasi, «2» ning «1«chi darajasi,… Shundan so‘ng, qaysi razryadda bo‘lsa, o‘sha razryad natijalari qo‘shib chiqiladi. Bizning holda «2» chi, «4» chi va «6» chi razryadlarda 1 soni mavjud, demak 2+8+32=42. Bizning 42 sonimiz shu orqali chiqdi.
Butun sonlar musbat va manfiy bo‘lishi mumkin. Chap tomondagi birinchi razryad shuni bildiradi(shuning uchun bu razryadga qaramadik). Bu degani qolgan razryadlar o‘z holicha qoladi degani emas. 42 sonini manfiy songa o‘tkazamiz. Uning uchun musbat 42 soni razryadlarini teskarisiga almashtiramiz va ikkilik tizimdagi 1 sonini qo‘shamiz, shunda -42 soniga ega bo‘lamiz.
Ikkilik tizimida qo‘shish quyidagicha amalga oshiriladi.