1-modul · 3-dars: Operators
Daraja: Boshlang'ich
Operators. Java Core bo‘yicha nazariya, amaliy namuna va mustaqil mashq.
Tushuntirish
## Dars maqsadi Operators tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.
## Nazariya Operandlar ustida amal bajaruvchi maxsus belgi yoki so'z (masalan `+`, `-`, `*`, `instanceof`).
3 ga: unary (1 operand), binary (2 operand), ternary (3 operand).
## Intervyuga tayyorgarlik ### Java-da Operator nima? Operandlar ustida amal bajaruvchi maxsus belgi yoki so'z (masalan `+`, `-`, `*`, `instanceof`).
### Operandlar soniga qarab operatorlar nechi turga bo'linadi? 3 ga: unary (1 operand), binary (2 operand), ternary (3 operand).
### Unary operator nima? Bitta operand bilan ishlaydi: `+`, `-`, `++`, `--`, `!`, `~`.
### Binary operator nima? Ikkita operand bilan ishlaydi: `+ - * / %`, `&& ||`, `== !=` va h.k.
### Ternary operator nima? Uch operandli shartli operator: `shart ? a : b` — shart true bo'lsa `a`, aks holda `b`.
### Expression nima? Qiymat qaytaradigan operand va operatorlar birikmasi (masalan `a + b * 2`).
### Java-da named operator nima? Belgidan emas, kalit so'zdan iborat operator: `instanceof`, `new`.
### Java-da Arithmetic operator nima? Matematik amallar operatorlari: `+`, `-`, `*`, `/`, `%`.
### Arithmetic operationlarning priority levellari qanday? Avval `* / %`, keyin `+ -`. Qavslar `()` eng yuqori ustuvorlikka ega.
### Java-da Relational operatorlar nima? Ikki qiymatni solishtiruvchi va boolean qaytaruvchi operatorlar: `< > <= >= == !=`.
### Java nechta turdagi relational operatorni qo'llab-quvvatlaydi? 6 ta: `<`, `>`, `<=`, `>=`, `==`, `!=`.
### Java-da Logical operatorlar nima? Mantiqiy shartlarni birlashtiruvchi operatorlar: `&&`, `||`, `!` (va bitwise `& | ^`).
### Java nechta turdagi logical operatorni qo'llab-quvvatlaydi? Asosiy 3 ta short-circuit: `&&`, `||`, `!`; qo'shimcha bitwise-logical: `&`, `|`, `^`.
### Java-da Assignment operator nima? O'ng tomon qiymatini chap o'zgaruvchiga beruvchi `=` operatori; compound turlari: `+= -= *= /= %=`.
### x += y va x = x + y expressionlari o'rtasida farq bormi? Natija bir xil, lekin `+=` ichida yashirin (implicit) cast bor. Masalan `byte b; b += 1;` ishlaydi, lekin `b = b + 1;` compile error beradi (natija `int` bo'lib ketadi).
## 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 x = 5;
System.out.println(x++); // 5, keyin x = 6
System.out.println(++x); // 7
System.out.println(7 / 2); // 3
System.out.println(7 % 2); // 1
Keng tarqalgan xatolar
- `7 / 2` ni 3.5 deb kutish: ikkala operand int bo'lsa natija ham int bo'ladi.
- `==` va `=` ni chalkashtirish yoki obyektlarni `==` bilan solishtirish (u havolani solishtiradi).
Mashqlar
- `x++` va `++x` farqini bitta dasturda chop etib ko'rsating.
- Qavssiz va qavsli ifodani (`2 + 3 * 4` va `(2 + 3) * 4`) hisoblab, natijani oldindan ayting.
Teglar: modul-01, pdp, nazariya