1-modul · 4-dars: Flow Control

Daraja: Boshlang'ich

Flow Control. Java Core bo‘yicha nazariya, amaliy namuna va mustaqil mashq.

Tushuntirish

## Dars maqsadi Flow Control tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.

## Nazariya Dastur buyruqlarining bajarilish tartibi (odatda yuqoridan pastga).

Shartlar va sikllar orqali buyruqlarning bajarilish tartibini boshqarish.

## Intervyuga tayyorgarlik ### Execution Flow nima? Dastur buyruqlarining bajarilish tartibi (odatda yuqoridan pastga).

### Control Flow nima? Shartlar va sikllar orqali buyruqlarning bajarilish tartibini boshqarish.

### if nima? Shartga ko'ra kod blokini bajaradigan tanlov (decision) operatori.

### if nima uchun ishlatamiz? Muayyan shart true bo'lganda ma'lum kodni bajarish uchun.

### Loop nima? Kod blokini takror bajaradigan tuzilma (`for`, `while`, `do-while`).

### Loop nima uchun ishlatamiz? Bir amalni ko'p marta takrorlash uchun (masalan ro'yxat elementlarini aylanib chiqish).

### Java-da Control Flow ning nechi xil turi mavjud? 3 tur: Decision-making (`if`, `switch`), Looping (`for`, `while`, `do-while`), Branching/jump (`break`, `continue`, `return`).

### Switch statement qanday ishlaydi? Bir ifoda qiymatini `case` lar bilan solishtiradi, mos kelganini bajaradi. `break` bo'lmasa keyingi caselarga ham o'tadi (fall-through). Hech biri mos kelmasa `default` ishlaydi.

### Unicode system nima uchun kerak? Dunyodagi barcha tillar belgilarini yagona standart raqam bilan ifodalash uchun. Java `char` Unicode ga asoslangan.

### ANSI escape code nima? Terminalda matn rangi va formatini boshqaruvchi maxsus belgilar ketma-ketligi (masalan `\u001B[31m` — qizil rang).

## Versiya va aniqlik Java misollari Java 17 bazasiga mo‘ljallangan. JDK/JRE paketlash usuli distributivga bog‘liq; JVM bayt-kodni interpretatsiya va JIT orqali bajarishi mumkin. GC uchun aniq bajarilish vaqtiga kafolat yo‘q; finalization resurs yopish usuli emas. Thread stop/suspend/resume kabi eski metodlar amaliy yechim emas. Koddagi import, klass yoki tashqi kutubxona kontekstini tekshiring.

## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/1-module.md) [Rasmiy qo‘llanma](https://dev.java/learn/) [Sizning avvalgi savol-javob arxivingiz](https://lightyer.uz/java/interview.html)

Kod quyida o‘quv namunasi sifatida berilgan. To‘liq ilova uchun import, dependency va konfiguratsiya kerak bo‘lishi mumkin. SQLni faqat ajratilgan test bazasida bajaring.

Kod misoli

int total = 0;
for (int i = 1; i <= 5; i++) {
  if (i % 2 == 0) continue;
  total += i;
}
System.out.println(total); // 9

Keng tarqalgan xatolar

Mashqlar

Teglar: nazariya, modul-01, pdp

Interaktiv ko'rinish (viktorina, izohlar, tarix)