Dart tiliga kirish O'zgaruvchilar va konstantalar Primitiv ma'lumotlar turlari


Download 374.15 Kb.
bet6/35
Sana11.05.2023
Hajmi374.15 Kb.
#1454719
1   2   3   4   5   6   7   8   9   ...   35
Bog'liq
3-mustaqil ish

Arifmetik amallar

Dart barcha umumiy arifmetik operatsiyalarni qo'llab-quvvatlaydi. Ular arifmetik amallarda raqamlar bo'yicha qatnashadilar. Ikkilik arifmetik amallar (ikki operandda bajariladi) va unar (bitta operandda bajariladi) mavjud. Ikkilik operatsiyalarga quyidagilar kiradi:


+


ikkita raqamni qo'shish amali:


1
2
3
4

int a = 10;
int b = 7;
int c = a + b; // 17
int d = 4 + b; // 11

-


Ikki sonni ayirish amali:


1
2
3
4

int a = 10;
int b = 7;
int c = a - b; // 3
int d = 4 - a; // -6

*


ikki sonni ko'paytirish amali


1
2
3
4

int a = 10;
int b = 7;
int c = a * b; // 70
int d = b * 5; // 35

/


Ikki raqamni bo'lish operatsiyasi:


1
2
3
4

int a = 20;
int b = 5;
double c = a / b; // 4.0
double d = 22.5 / 4.5; // 5.0

Bo'linayotganda, operatsiya natijasi har doim ikki xil turdagi ekanligini unutmang.


~ /

ikki sonni butun songa bo'lish amali. Amaliyot natijasi har doim int turiga ega:


1
2
3
4

int a = 33;
int b = 5;
int c = a ~/ b; // 6
int d = 22 ~/ 4; // 5

%


Ikki raqamni bo'lishdan qolganni olish:


1
2
3
4

int a = 33;
int b = 5;
int c = a % b; // 3
int d = 22 % 4; // 2 (22 - 4*5 = 2)

Xuddi shu sonda bajariladigan ikkita unar arifmetik amallar ham mavjud: ++ (o'sish) va - (kamaytirish). Har bir operatsiya ikki turga ega: prefiks va postfiks:


++ (prefiks ortishi)


O'zgaruvchini bittaga oshirishni nazarda tutadi, masalan, z = ++ y (avval y o'zgaruvchining qiymati 1 ga oshiriladi, so'ngra uning qiymati z o'zgaruvchisiga beriladi)




1
2
3
4

int a = 8;
int b = ++a;
print(a); // 9
print(b); // 9

++ (postfiks ortishi)


Shuningdek, o'zgaruvchining bittaga o'sishini ifodalaydi, masalan, z = y ++ (birinchi navbatda, y ning qiymati z ga beriladi, so'ngra y ning qiymati 1 ga oshiriladi)




1
2
3
4

int a = 8;
int b = a++;
print(a); // 9
print(b); // 8

- (prefiksning kamayishi)


o'zgaruvchini bittaga kamaytirish, masalan, z = - y (avval y o'zgaruvchining qiymati 1 ga kamayadi, so'ngra uning qiymati z o'zgaruvchisiga beriladi)




1
2
3
4

int a = 8;
int b = --a;
print(a); // 7
print(b); // 7

- (postfiksni kamaytirish)


z = y-- (birinchi navbatda y o‘zgaruvchining qiymati z o‘zgaruvchiga beriladi, so‘ngra y o‘zgaruvchining qiymati 1 ga kamaytiriladi)




1
2
3
4

int a = 8;
int b = a--;
print(a); // 7
print(b); // 8

Arifmetik ustuvorlik


Ba'zi operatsiyalar boshqalardan ustun turadi va shuning uchun birinchi navbatda amalga oshiriladi. Ustuvorlikni kamaytirish tartibida operatsiyalar:

++ (postfiksning o'sishi), - (postfiksning kamayishi)


++ (prefiks ortishi), - (prefiksning kamayishi)


* (ko'paytirish), / (bo'lish),% (bo'lishning qoldig'i)


+ (qo'shish), - (ayirish)


Arifmetik ifodalar to'plamini bajarishda operatsiyalarning ustuvorligini hisobga olish kerak:





1
2
3
4

int a = 8;
int b = 7;
int c = a + 5 * ++b;
print(c); // 48

Birinchidan, o'sish ++ b operatsiyasi bajariladi, u yuqoriroq ustuvorlikka ega - u b o'zgaruvchining qiymatini oshiradi va natijada uni qaytaradi. Keyin 5 * ++ b ko'paytiriladi va faqat oxirgi qo'shilish a + 5 * ++ b hisoblanadi.


Qavslar hisob-kitoblar tartibini qayta belgilashga imkon beradi:




1
2
3
4

int a = 8;
int b = 7;
int c = (a + 5) * ++b;
print(c); // 104

Qo'shish amali pastroq ustuvorlikka ega bo'lsa-da, qo'shish ko'paytirish emas, balki birinchi navbatda qo'shish amalga oshiriladi, chunki qo'shish amali qavs ichiga olingan.




Download 374.15 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   35




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling