1-modul · 7-dars: Array

Daraja: Boshlang'ich

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

Tushuntirish

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

## Nazariya Bir xil turdagi elementlarni ketma-ket saqlaydigan, o'lchami qat'iy (fixed) tuzilma.

`int[] a;` yoki `int a[];`, so'ng `a = new int[5];`, yoki to'g'ridan `int[] a = {1,2,3};`.

## Intervyuga tayyorgarlik ### Array nima? Bir xil turdagi elementlarni ketma-ket saqlaydigan, o'lchami qat'iy (fixed) tuzilma.

### Array-ni qanday e'lon qilishimiz mumkin? `int[] a;` yoki `int a[];`, so'ng `a = new int[5];`, yoki to'g'ridan `int[] a = {1,2,3};`.

### Turli data typelar uchun Array-ning default qiymati qanday? Butun sonlar — 0, `double`/`float` — 0.0, `boolean` — false, `char` — `\u0000`, reference/obyekt — null.

### Array yaratilgandan keyin size-ni o'zgartira olamizmi? Yo'q, array o'lchami o'zgarmas. O'zgartirish uchun yangi array yaratib, nusxa ko'chiriladi (yoki `ArrayList` ishlatiladi).

### Array-ning size-ini manfiy raqam belgilay olamizmi? Kompilyatsiya vaqtida emas, lekin runtime da `NegativeArraySizeException` tashlanadi.

### Array-ni size-siz e'lon qila olamizmi? E'lon qilsa bo'ladi (`int[] a;`), lekin `new int[n]` yoki initializer bilan o'lcham berilishi shart.

### Array JVM xotirasining qayerida saqlanadi? Heap da (array obyekt sifatida). Unga bo'lgan havola (reference) esa stack da bo'ladi.

### Primitive Array JVM-ning qaysi xotirasida saqlanadi? U ham Heap da saqlanadi — array o'zi obyekt, elementlar shu obyekt ichida.

### ArrayStoreException nima? Qachon tashlanadi? Reference array-ga mos kelmaydigan turdagi obyekt saqlaganda tashlanadi. Masalan `Object[] a = new String[2]; a[0] = 1;`.

### Anonymous Array nima? Misol keltiring. Nomsiz, bir marta ishlatiladigan array: `printAll(new int[]{1, 2, 3});`.

### Agar array-ni initialize qilmasangiz nima bo'ladi? Local array initsializatsiyasiz ishlatilsa compile error; field bo'lsa default `null` bo'ladi.

### Java-da Jagged Array nima? Qatorlari turli uzunlikdagi ko'p o'lchovli array: `int[][] a = new int[3][];`.

### Array-ning afzalliklari nimada? Indeks orqali tez kirish (O(1)), oddiy tuzilma, xotira ketma-ket joylashadi.

### Array-ning kamchiliklari nimada? O'lchami qat'iy, o'rtaga qo'shish/o'chirish qiyin va sekin, faqat bitta turdagi ma'lumot saqlaydi.

## 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[] scores = {70, 85, 90};
int total = 0;
for (int score : scores) total += score;
System.out.println(total / (double) scores.length);

Keng tarqalgan xatolar

Mashqlar

Teglar: modul-01, pdp, nazariya

Interaktiv ko'rinish (viktorina, izohlar, tarix)