+
Qo’shish
-
Ayirish
*
Ko’paytirish
/
Bo’lish
%
Modul
Yuqoridagi barcha arifmetik operatorlar butun va ratsional sonlar bilan ishlatilishi mumkin.
Natijadagi qiymatning turi amalda ishlatilgan qiymatlarning turiga bog’liq. Agar amaldagi ikki
operandalarning qiymatlari butun son bo’lsa natija ham butun son bo’ladi. Agar operandalarning
biri yoki ikkisi ratsional son bo’lsa natija ratsional qiymat bo’ladi. Masalan,
count = count1 + count2
Agar
count1
va
count2
o’zgaruvchilar butun son bo’lsa count o’zgaruvchining qiymati ham
butun son (
int
) bo’ladi. Agar count1 yoki
count2
o’zgaruvchilarining biri ratsional bo’lsa count
o’zgaruvchisining qiymati ratsional qiymat bo’ladi.
Inkrement va dekriment operatorlari
Java dasturlash tilida qiymatlarni bir birlikka o’zgartiruvchi operatorlar mavjud. Qiymatni
bir birlikka oshiruvchi operator inkrement operatori bo’lib umumiy ko’rinishi
n++
ko’rinishida
bo’ladi. Qiymatni bir birlikka kamaytiruvchi operator dekriment operatori bo’lib
n--
ko’rinishida bo’ladi. Masalan,
int n = 1;
int m = 4;
n++;
System.out.println(“n qiymati = ” + n);
m--;
System.out.println(“m qiymati = ” + m);
dastur kodi quyidagi satrlarni ekranga chiqarib beradi,
n qiymati = 2
m qiymati = 3
Increment va dekriment operatorlari o’zgaruvchi qiymatini bir birlikka o’zgartirib yangi
qiymatni o’zgaruvchiga belgilab qo’yadi. Natijada qiymati o’zgargan o’zgaruvchilarni arifmetik
amallarda ishlatish mumkin. Masalan,
2*(n++)
Ammo ushbu xolda inkrement operatori arifmetik
operatoridan keyin bajariladi, ya’ni
arifmetik amalda n o’zgaruvchining eski qiymati ishlatiladi, arifmetik amaldan keyin n qiymati
bir birlikka o’zgaradi. Ushbu xolatni quyidagi misolda ko’rish mumkin,
int n = 3;
int k = 2*(n++);
System.out.println(k);
System.out.println(n);
dastur kodi quyidagi satrlarni ekranga chiqarib beradi,
6
4
++n
ham inkrement operatori xisoblanadi. Standart
n++
inkrement operatoridan farqi
shundaki, agar ushbu operator arifmetik amalda qatnashsa o’zgaruvchining
qiymati bir birlika
o’zgartiriladi va ushbu yangi qiymat arifmetik amalda ishlatiladi. Masalan,
int n = 3;
int k = 2*(++n);
System.out.println(k);
System.out.println(n);
dastur kodi quyidagi satrlarni ekranga chiqarib beradi,
8
4
n++
va
++n
operatorlari inkrement operatorlari xosoblanib ikki operator ham n o’zgaruvchi
qiymatini bir birlikka ko’paytiradi. Agar
++
belgisi o’zgaruvchidan
keyin tursa qiymat
qaytarilgandan (ishlatilgandan) so’ng u bir birlikka oshiradi. Agar
++
belgisi o’zgaruvchidan
oldin tursa qiymat qaytarilishdan (ishlatilishidan) oldin u bir birlikka oshiradi.
Yuqorida inkrement operatoriga tegishli barcha xususiyatlar dekriment operatoriga ham
tegishli, faqat dekriment operatorida o’zgaruvchining qiymati bir birlikka kamaytiriladi.
Masalan,
int n = 5;
int k = n--;
System.out.println(k);
System.out.println(n);
dastur kodi quyidagi satrlarni ekranga chiqarib beradi,
5
4
Aksincha,
int n = 5;
int k = --n;
System.out.println(k);
System.out.println(n);
dastur kodi quyidagi satrlarni ekranga chiqarib beradi,
4
4
n--
va
--n
operatorlari dekriment operatorlari xisoblanib ikki operator ham n o’zgaruvchi
qiymatini bir birlikka kamaytiradi.
n--
operatori qiymat qaytarilgandan (ishlatilgandan) so’ng
o’zgaruvchi qiymatini bir birlikka kamaytiradi.
--n
operatori qiymat qaytarilishdan
(ishlatilishidan) oldin o’zgaruvchi qiymatini bir birlikka kamaytiradi.
Dostları ilə paylaş: