Dart Ifoda va instruksiya

Ifoda – bir yoki bir nechta operatorlar orqali yozilgan bir qatorli bo’lgan buyruqlar jamlanmasi.
void main() {
var fisrt_number = 5;
var second_number = 6;
print(fisrt_number + second_number);
}
>> 11

tomondan qarab bajarilishi ko’rsatib o’tilgan.Yuqoridagi kodda var fisrt_number = 5; qatorini olsak, ‘=’ tayinlash operatori orqali kichik bir ifoda yozib ketilmoqda bu joyda. Ya’ni fisrt_number o’zgaruvchisiga 5 qiymati o’zlashtirilmoqda.

Lekin ko’p holatda biz yozadigan ifodalar bu kabi kichik bo’lmaydi. Aksincha, ancha katta bo’ladi.

Yodda tuting!

Ifoda tugaganligini ‘;’ nuqta-vergul belgisi orqali bilib olamiz va doimo shu belgi bilan ifodani tamomlaymiz.

Ifodada operatorlarning ham xuddi matematikadagi arifmetik amallarning ustunligi singari ustovorligi bor. Bu ‘operator precendence’ deyiladi va har bir dasturlash tilida bu mavjud. Quyidagi rasmda Dart dasturlash tilidagi operatorlarning ustuvorligi, nomi, belgisi va qaysi

Qavslar doimo operator darajasini bir karra oshirib beradi. Bu uchun ham bir kod tahlilini qisqacha ko’radigan bo’lsak,

void main() {
int x = 5;
double y = 3.4;
var result = (x & 1) * ++y;
print(result);
}
>> 4.4

result = (x & 1) * ++y; – ifodasida

  1. x & 1 qismi bajariladi, chunki qavslar uning darajasini oshirgani uchun. Hozircha natija 1 bo’ladi
  2. ++y qismi keyin bajariladi, y qiymati 1 ga oshib 4.4 bo’ladi.
  3. Endi esa * operatori bajariladi. Chiqqan natijalar 1 va 4.4 o’rtasida. Shunda so’nggi natija bo’lib ekranga 4.4 qiymati chiqadi.
Instruksiya – dasturlash tilida aniq bir vazifani bajarishga qaratilgan buyruq va kalit so’zlar bilan belgilangan kod qismi.

Biz ko’p kalit so’zlarni operatorlar deb atashga ham o’rganib qolganmiz. Masalan, if-else, for, while, switch-case va boshqalar. Lekin aslida yuqoridagi operatorlar jadvalini ham qarasak, bular u jadvaldan o’rin olmagan. Aslida biz bularni operator emas, balki instruksiya deb atashimiz to’g’ri bo’ladi.

Nega endi? Instruksiya ta’rifiga e’tibor berib tahlil qilsak ham bular barchasi shunga dalolat beradi.

void main() {
int x = 5;
double y = 3.4;
if (x < 0) {
var result = (x & 1) * ++y;
print(result);
} else {
print("Hello, UzbekDevs!");
}
}
>> Hello, UzbekDevs!

Yuqoridagi kodni tahlil qilib, undagi operator, ifoda, instruksiyalarni keling aniqlaylik.

Birinchi ajratib olaylik :

  1. Operatorlar : =, <, &, *, ++
  2. Ifodalar :
  • int x = 5;
  • double y = 3.4;
  • var result = (x & 1) * ++y;
  • print(result);
  • print("Hello, Dart!");
  1. Instruksiyalar :
if (x < 0) {
var result = (x & 1) * ++y;
print(result);
} else {
print("Hello, Dart!");
}

Demak, if instruksiyasi o’zida operator va ifodalarni qamrab olmoqda va kerakli buyruqlarni bajarmoqda. If operatori esa aslida quyidagicha bo’ladi :

(shart) ? Rost bo’lsa : aks holda