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
- `switch` da `break` ni unutib, keyingi `case` larga tushib ketish.
- Tsikl shartini noto'g'ri yozib cheksiz tsikl hosil qilish (masalan hisoblagichni oshirishni unutish).
Mashqlar
- 1 dan 10 gacha sonlarni `for`, `while` va `do-while` bilan uch xil yozing.
- Bir xil mantiqni `if-else if` va `switch` bilan yozib, qaysi biri o'qishga qulayroq ekanini ayting.
Teglar: nazariya, modul-01, pdp