Easy Programming


Kanal geosi va tili: O‘zbekiston, O‘zbekcha


Kanalimizga Xush kelibsiz🤗
Bizning kanalda dasturlashga oid materiallar va darslar berib boriladi.
Kanalimizni kuzatib boring😊😊

Связанные каналы

Kanal geosi va tili
O‘zbekiston, O‘zbekcha
Statistika
Postlar filtri


Variables and Constants (O'zgaruvchi va O'zgarmaslar)

Variables (O'zgaruvchilar) haqida gaplashamiz

Har bir dasturlash tilida o'zgaruvchilar qiymatlarni saqlash uchun ishlatiladi.Konstantalar qiymatlari umuman o'zgarmaydigan o'zgaruvchilardir.

Variables (O'zgaruvchilar) - bu dastur bajarilishi davomida o'zgarishi mumkin bo'lgan qiymatni saqlaydigan xotiradagi nomlangan joy.Har bir o'zgaruvchining aniq turi mavjud, u qanday turdagi ma'lumotlarni saqlashni aniqlaydi.

O'zgaruvchini e'lon qilish uchun avvalo uning turini yozib , keyin o'zgaruvchi nomini qo'yasiz.Quyida misollarda ko'ramiz:

double oylik;
int damOlishKunlari;
long yerAholisi;
boolean talabami;

E'tibor bering har bir o'zgaruvchi e'lon qilingandan keyin semicolon (nuqta-vergul) borligini e'tiborga oling.Nuqta-vergul qo'yilishi zarur, chunki e'lon Java bayonoti hisoblanadi.

O'zgaruvchilar nomi yuqorida aytganimdek harflar,raqamlar va belgilar ketma-ketligidan tashkil topadi (Lekin birinchi belgi raqam bo'lishi mumkin emas).Odatda nomlarni hammaga tushunarli sodda tilda va inglizcha nomlar bilan yozishga odatlaning (Man yuqorida sizga tushunarli bo'lishi uchun o'zbekcha nomladim).

Qo'shimcha: Siz bir nechta o'zgaruvchilarni bir qatorda e'lon qilishingiz mumkin:
int damOlishKunlari, yoshi;


Ammo bu uslubni tavsiya qilmayman.Chunki har bir o'zgaruvchini alohida e'lon qilsangiz, dasturlaringizni o'qish osonroq bo'ladi.

Java da o'zgaruvchilar scope (qamrov)i va lifetime (amal qilish davri) ga ko'ra 3 ta turga bo'linadi:

a) Local Variables (mahalliy o'zgaruvchilar):

1.Scope (qamrovi) : Method(metod) , constructor (konstruksiya) va block (blok) ichida e'lon qilinadi.

2.Lifetime(amal qilish davri): Faqat e'lon qilingan blok ichida amal qiladi.

3.Initialization( boshlang'ich qiymat) - Ishlatishdan oldin qiymat berilishi shart.

Lokal o'zgaruvchiga misol:
public class LocalVariables {
public static void main(String[] args) {
int son1 = 10;
int son2;
son2 = 20;
int yigindi = son1 + son2;
System.out.println("Yig'indi: " + yigindi);
}
}

b) Instance variables (Instansiya o'zgaruvchilari):

1.Scope (qamrovi) - Class ichida lekin method ,constructor yoki blockdan tashqarida e'lon qilinadi.

2.Lifetime (amal qilish davri) - Class obyekti mavjud bo'lganda ishlatiladi.

3.Initialization (Boshlang'ich qiymat) - Agar aniq boshlang'ich qiymat berilmasa, o'zgaruvchi avtomatik ravishda default value (standart qiymat) ni oladi (o'tgan mavzuda ko'rsatilgan).

Misol:

public class Moshina {

int yili;

public static void main(String[] args) {
System.out.println("Ishlab chiqarilgan yili" - yili);
}
}



c) Static variables (Statik o'zgaruvchilar)

1.Scope (qamrovi) - static kalit so'zi bilan class ichida lekin method va constructor yoki blockdan tashqarida e'lon qilinadi.

2.Lifetime(amal qilish davri) - Dasturda classning barcha obyektlari ishlata oladi

3.Initialization (boshlang'ich qiymat) - Agar aniq boshlang'ich qiymat berilmasa, o'zgaruvchi avtomatik tarzda default value (standart qiymat) ni oladi.

Misol:

public class Moshina {
static int moshinaSoni = 0; // Statik o'zgaruvchi

public static void main() {
System.out.println("Moshinalar soni: " + moshinaSoni);
}
}

Aynan yuqoridagi o'zgaruvchilar nega kerak va aynan qanday holatlarda ishlatilinishini OOP qismida batafsil ko'rib chiqamiz.Hozircha aynan shunday o'zgaruvchilar bor ekanligini bilsangiz yetarli.


Bugungi testda qatnashgan hammaga rahmat. Qatnashuvchilar soni kamroq bo’ldi,lekin aytib o’tmagan ma’lumotlarni ham ko’pchilik to’g’ri topishibdi.Yechmaganlar haliham o’zlarini sinab ko’rsalar bo’ladi.

Demak o’rinlarni belgilab qo’yaman, o’rin olganlar kommentda + belgisini qo’yinglar.O’rin olganlarga yutuqlarini topshiramiz.
O’rinlar:
1. Abduqodir Oripov -15 ta 100%
2.Ulug’bek Abdulmutalliyev -14 ta 93.33%
3.Abubakr Abdugaffarov -13 ta 86.66%


Aktivroq bo’lamiz do’stlar hali 100% lik natija bo’lmadi.


JavaTest.pdf
402.5Kb
✅️Test ishlanishga tayyor
🗒Test nomi: JavaFundamentalTest
🔢Testlar soni: 15 ta
‼️Test kodi: 7

Test javoblaringizni quyidagi botga jo'nating:

👉 @easy_programming_uz_bot
👉 @easy_programming_uz_bot
👉 @easy_programming_uz_bot

📌 Testda qatnashuvchilar quyidagi ko`rinishda javob yuborishlari mumkin:
Test kodini kiriting va *(yulduzcha) belgisini qo'ying.
To'liq 15 ta javobni ham kiriting.

Namuna:
7*abcdab... (15 ta) yoki
7*1a2b3c4d5a6b... (15 ta)

♻️Test ishlanishga tayyor!!!


Birinchi marta sinab ko’rayotganlarga namuna sifatida quyidagi qadamlarni qilsangiz kifoya.
1.Start
2.Ism familiya kiritasiz
3.Test kodi (sizga test yuborilganda beriladi) va javoblar ketma ketligini orasiga * qo’yib 15 ta javobni yuborasangiz yetarli.


Assalom aleykum Do'stlar, bugun 13:00 da o'tilgan mavzular bo'yicha qiziqarli test o'tkazamiz.Faqat testni boshlashdan oldin testni qanday yechish bo'yicha yo'riqnomani diqqat bilan ko'rib chiqing va javoblaringizni biz ko'rsatgan botga yuboring.Dastlabki 3 o'ringa sovrin tariqasida arzimas bo'lsa ham pulli yutuq qo'yishni rejalashtirdik.Hammaga omad.


LeetCodin dan repost
Hammaga salom! Vaqti-vaqti bilan obunachilar savol berib turishadi. Shunday bir savol-javobni shu yerga joylashtiraman.


Savol: "Hozirda har kuni DSA o‘rganib, LeetCode’da masalalar yechib boryapman.
Lekin hozir FAANG’ning holati unchalik yaxshi emasga o‘xshaydi, chunki layoffs bo‘lib turibdi.

Shu sababli, ishxonada o‘zimni ko‘rsatish va tezroq raise olish uchun qanday maslahat bera olasiz?"


Javob: "DSA va LeedCode bilan shug'ullanayotganingiz juda ham zo'r! Keep it up!

FAANG'da har doim layoff bo'ladi va odamlarni ishga olishni to'xtatmaydi hech qachon. Odatda "bottom 5%" ishdan bo'shatishadi.

Savolingizga 2ta maslahatim bor:
1. Boshqa tajribali dasturchilarga ham huddi shunday savol yozib ko'ring. Javoblarni yig'ib, tahlil qilib, o'zingizga to'g'irlab, keyin harakat qiling.

2. Mening "2 cents" bu haqida quyidagicha:
O'zingizga ko'proq mas'uliyat oling.
Masalan:
- Team lead'ga borib, "sizda loyihamiz bo'yicha qanday taraf (part/volume of work) borki - shuni boshqa odam qilsa, asosiy ishga qo'l urardim [asl long-term ishlarga vaqt ko'payardi]" - deb so'rab ko'ring. Loyihaning shu tarafini owner'i bo'ling. Shunday yaxshi o'rganingki - hamma sizga kelib savol so'rasin shu haqida.

FAANG kompaniyalarida siz agar mid-level'dan senior'ga o'tmoqchi bo'lsangiz, siz senior developer'ning ishini bir oz vaqt davomida qilib kelayotgan bo'lishingiz kerak.

Bu degani sizga senior'likni boshqa odam berishi kerak emas, har bir harakatingiz "Men seniorman. Senior dev bunday holatda qanday harakat qilishi lozim?" - degan fikr bilan boshlanishi kerak.

O'zingizga boshqa odamning ish o'rnidan qarab ko'ring. Masalan:
- Tasavvur qiling siz shu biznesning egasisiz. Sizga har doim persistent and accountable odamlar yetishmaydi. Unday odamlarning o'zi kamdan-kam. Agar accountable odamni topib olsangiz, uni ishda lavozimda ko'tarib, maksimal darajada qoldirgingiz keladi - to'g'rimi? Bundan xulosa - men shunday odam bo'lishim kerak."


Siz esa nima deb o'ylaysiz?
@LeetCodin


Bizni aktiv kuzatib borayotganlar ertaga 13:00da shu paytgacha o'tilgan mavzular yuzasidan qiziqarli test o'tkazamiz.Aktivroq bo'linglar.Birinchi eng tez va ko'p yechgan 3 ta o'rin olgan kuzatuvchilarimiz nomini kanalimizda e'lon qilmoqchimiz va arzimas bo'lsa ham yutuqli sovg'alar bilan taqdirlamoqchimiz.Shu sababli ko’proq qiziquvchilar bilan ulashing.


Yodda tuting: Yuqorida primitiv ma'lumot turining Standart qiymati (Default value) boolean turida qanday o'zlashtirilishini ko'rdik.Keling endi qolgan primitiv ma'lumot turlarida Standart qiymati (Default value) qanday bo'lishini ko'rib chiqamiz.

public class DefaultValues {
byte defaultByte; // 0
short defaultShort; // 0
int defaultInt; // 0
long defaultLong; // 0L
boolean defaultBoolean; // false
float defaultFloat; //0.0f
double defaultDouble; //0.0
char defaultChar; // \u0000 null character

public void displayDefaults() {
System.out.println("Default byte: " + defaultByte);
System.out.println("Default short: " + defaultShort);
System.out.println("Default int: " + defaultInt);
System.out.println("Default long: " + defaultLong);
System.out.println("Default boolean: " + defaultBoolean);
System.out.println("Default float: " + defaultFloat);
System.out.println("Default double: " + defaultDouble);
System.out.println("Default char: " + defaultChar);
}

public static void main(String[] args) {
DefaultValues dv = new DefaultValues();
dv.displayDefaults();
}
}
Yuqorida ko'rishimiz mumkinki hamma primitiv ma'lumot turlari qachonki obyektning bir qismi (lokal o'zgaruvchi emas) bo'lganda standart boshlang'ich qiymatga ega bo'ladi.

O'zingiz ham sinab ko'ring yuqoridagi misollar bilan.


The boolean type (boolean ma'lumot turi)

Java da primitiv turga kiruvchi yana bir ma'lumot turi bu boolean turidir.Java da boolean turi faqat ikki qiymatdan birini qabul qiladi

1.true (rost);
2.false (yolg'on);


Qo'llanilishi asosan shartli operatorlar (if,while,for)(batafsil keyingi mavzularda) va mantiqiy holatlarni tekshirishda ishlatiladi.

Keling endi qanday e'lon qilinishini ko'ramiz:

boolean isJavaFun = true;
boolean isStudent = false;
Eslatma: boolean dan keyingi qism o'zgaruvchi nomi nomlash tamoyillariga asoslangan ixtiyoriy nom bo'lishi mumkin.

Java da boolean ning Standart qiymati (Default Value) false ga teng.Ya'ni boolean o'zgaruvchi e'lon qilingan, lekin boshlang'ich qiymat berilmagan bo'lsa, u standart qiymat sifatida false ni oladi.Lekin o'zgaruvchi lokal o'zgaruvchi bo'lsa, u uchun esa qiymat aniq belgilanishi kerak.Masalan:

public class Student {
boolean isStudent;


public void namuna() {
boolean localVariable;
System.out.println(isStudent); // natija false chiqadi.
System.out.println(localVariable);// natija xatolik beradi.
}
}
Java da boolean turi xotiradan 1 byte joy egallaydi va yuqoridagi primitiv turlar kabi stack xotirada joylashadi.

Qo'shimcha: Primitiv ma'lumot turlari stack xotirada saqlanadi deb aytib o'tdik.Lekin qachonki pirimitiv ma'lumot turi obyektning bir qismi bo'lib kelganida heap xotirada saqlanadi ya'ni obyektning bir qismi sifatida.Obyektlar haqida batafsil OOP da ko'rib chiqamiz.


Eslatma:
Yuqorida aytib o'tganimdek, hamma char ma'lumot turi ' '(bittali qo'shtirnoq) ichida o'zlashtiriladi.

Lekin yuqoridagi misolda ko'rishimiz mumkinki, char raqam1 = 9 ko'rinishida ham o'zlashtirilishi mumkin.Bunday holatda biz Unicode kodlash standartidagi qiymati 9 ga teng bo'lgan belgini nazarda tutgan bo'lamiz.

Shundan xulosa qilamiz, char ma'lumot turi nafaqat (0, 65535) oraliqdagi har qanday butun sonni va (' ') qo'shtirnoqda kelgan faqatgina bitta belgini o'zlashtira oladi.

Qachonki raqam o'zlashtirilganda Unicode standartidagi qiymati o'sha raqamga teng bo'lgan belgini tushunadi.


char type (char ma'lumot turi)

Java dasturlash tilida , char ma'lumot turi belgilar uchun ishlatiladi va xotiradan 2 bytes joy egallaydi.Bu belgilar harflar, raqamlar , simvollar va maxsus boshqaruv belgilari('\n' - yangi qatordan boshlash beligisi va boshqalar)dir.

Kompyuter klaviaturadagi barcha belgilarni ichki ravishda ikkilik sanoq sistemasidagi(ya'ni 0 va 1 ning o'zaro kombinatsiyalari ko'rinishida) raqamlar ko'rinishida saqlaydi. Shuning uchun belgilarni raqamlarga va raqamlarni belgilarga o'giradigan kodlash tizimi kerak bo'ladi.Java Unicode standart kodlash tizimidan foydalanadi.

char c = 'a'; // E'tibor bering belgilar bitta qo'shtirnoq ichida yoziladi.
char harf = 'A';
char raqam = '9'; // int raqam = 9 dan farq qiladi.
char belgi = '@';
char hajmi - 2 bytes (16 bits);
char chegarasi - (0, 2¹⁶);

Qo'shimcha:

char c= 'a';
char b =97;

Yuqorida c va b o'zgaruvchilar teng.Sababi birinchisi belgini ifodalayapti, ikkinchisi esa o'sha belgining Unicode standartidagi o'nlik qiymatini ifodalayapti.Quyida misollar orqali ko'rib chiqamiz.


Eslatma: Butun sonlar turida ham faqat long turini L qo'shimchasi bilan o'zlashtirish mumkin.

Masalan:
long a = 10;

long a = 10L;


Bu yerda agar o'zgaruvchini long turida o'zlashtirmoqchi bo'lsak pasdagi ko'rinish afzalroq.Chunki hamma Butun sonlar turi dastlab standart int sifatida qabul qilinadi va belgilangan turiga Java compiler tomonidan konvertatsiya qilinadi.

Ya'ni:

short a = 10; //int avtomatik short ga konvertatsiya qilinadi.

Kasr sonlar moliyaviy hisob-kitoblar uchun mos emas.
Masalan:

System.out.println(2.0 - 1.1);

Natija -> 0.8999999999999999. Biz kutgan natija esa 0.9.

Bunday yaxlitlash xatolari kasr sonlarning ikkilik sanoq sistemasida ifodalanishidan kelib chiqadi.Ikkilik sanoq sistemasida 1/10 kasrning aniq ifodasi mavjud emas, xuddi o'nlik sanoq sistemasida 1/3 kasrning aniq ifodasi bo'lmagani kabi.

Agar aniq hisob-kitoblarga oid dasturlarda biz BigDecimal classdan foydalanamiz.(Keyingi mavzularda tushuntirib o'taman).


Floating-Point Types(Kasr sonlar turlari)

Javada kasr sonlar turining ikki xil turi mavjud.


Nomi: Hajmi: Chegarasi:

float 4 bytes (-3.4028235 * 10^38 , 3.4028235 * 10^38)

double 8 bytes -1.7976931348623157 x 10^308, 1.7976931348623157 x 10^308)



float va double ning farqi nimada?

1.Aniqlilik

float - bu xotiradan 4 bytes(32 bit) va nuqtadan keyin 7 ta o'nlik raqam qabul qiladi

double - bu xotiradan 8 bytes(64bit) va nuqtadan keyin 16 ta o'nlik raqam qabul qiladi

2.Standartlik

float - Java da kasr sonlarni o'zgaruvchiga o'zlashtirmoqchi bo'lsak, Java compiler avtomatik ravishda double sifatida qabul qiladi.Shu sababli agar kasr sonni float turiga o'zlashtirmoqchi bo'lsak, kasr son oxirida f yoki F qo'shimchasini qo'yish kerak.

Masalan:



float PI = 3.14f yoki PI = 3.14F


3.Hisoblashdagi Aniqlik

double - ko'proq bitni saqlaydi, u odatda yuqori aniqlik talab etilgan hisoblashlarda afzal ko'riladi.

float - ko'proq ishlash tezligi yoki xotira hajmi muhim bo'lgan holatlarda ishlatiladi.


Otabek Kholmirzaev | IT blog dan repost
Quyidagi postni yaxshilab o'qing. Agar foydali bo'lsa, uni ko'plab ota-onalarga yetib borishi uchun o'z hissangizni qo'shing. Umid qilamizki, ular farzandlari kelajagi uchun befarq emaslar!

DeepSeek haqida...


Xitoyning DeepSeek nomli sun'iy intellekt modeli butun dunyoda, ayniqsa AQSH bozorida katta shov-shuvga sabab bo'ldi.

Mazkur modelning ishga tushirilishi AQSHdagi yirik kompaniyalar aksiyalariga taxminan 1 trillion dollar zarar yetkazdi.

Qizig'i shundaki, bu modelni ishlab chiqish uchun bor-yo'g'i 5,6 million dollar sarflashgan xolos.

Taqqoslash uchun, avvalroq AQSHning OpenAI kompaniyasi o'zining GPT-4 modelini tayyorlash uchun 100 million dollardan ko‘proq mablag‘ sarflagan edi.

Xo‘sh, xitoyliklar kam mablag‘ bilan qanday qilib shunday yuqori sifatga erishdi?

DeepSeek’ning muvaffaqiyat siri

DeepSeek jamoasi yangi xodimlarni yollashda ularning ko'p yillik tajribasiga emas, balki texnik bilimlari kuchli, qiziquvchan va top universitetlardan chiqqan yosh iste'dodlarga ustuvorlik bergan (havola: Paraform Blog).

Jamoa a'zolari orasida xalqaro informatika olimpiadasi oltin medali sohiblari 4 nafardan ortiq, shuningdek, boshqa ko‘plab milliy darajadagi olimpiada sovrindorlari bor (havola: Zeyuan Allen Zhu).

Xitoy esa ko‘p yillardan beri xalqaro informatika, matematika va boshqa fan olimpiadalarida yetakchilik qilib kelmoqda.

Nima uchun bu muhim?

Bunday olimpiadalarda g‘olib bo‘lgan yoshlar juda kuchli algoritmik fikrlash, muammolarni hal qilish va ijodkorlik ko‘nikmalariga ega bo‘ladilar. Aynan mana shu ko‘nikmalar DeepSeek kabi yuqori unumdor modelni ishlab chiqishda muhim rol o‘ynagan.

Xullas, Xitoyning ta'lim tizimidagi muvaffaqiyatli yondashuvlarini o'rganib, ularni O'zbekistonda ham qo'llash va xalqaro fan olimpiadalariga bo'lgan e'tiborni yanada kuchaytirish vaqti keldi.

Farzandingiz kelajagi uchun befarq bo'lmang

Agar sizning 7-15 yosh oralig‘idagi farzandingiz, ukangiz yoki singlingiz informatika, matematika, fizika, kimyo yoki biologiya fanlariga qiziqsa, ularni xalqaro olimpiadalarga tayyorlash ayni muddao.

Shunday imkoniyatlar qilib berish orqali siz ularning kelajagiga mustahkam poydevor qo'ygan bo'lasiz. Xalqaro olimpiadalarda sovrindor bo'lgan yoshlarni Cambridge, Oxford, MIT, Harvard kabi nufuzli universitetlar talashib grant asosida qabul qilishadi. Google, Meta, Amazon, Microsoft kabi yetakchi kompaniyalar esa ishga olish uchun navbatga turishadi.

Keling, yosh avlodga imkoniyat beraylik va ularning muvaffaqiyati uchun harakat qilaylik! 🚀

@otabek_kholmirzaev


Java ning ishlash tartibi

132 0 0 14 16

Javada xotira: Stack vs Heap

Java xotirani ikkita asosiy qismga bo'ladi.Stack va Heap

Stack Memory (Stack xotira) - lokal o'zgaruvchilari va method chaqiruvlari uchun xotiradan ajratiladigan joydir.Har safar siz method ichida primitiv o'zgaruvchi e'lon qilganingizda , Stack da u uchun joy ajratiladi.

int number =10; // Java Stack xotirada 10 uchun 4 bayt joy ajratadi.Qiymat to'g'ridan - to'g'ri Stack xotirada saqlanadi.

Afzalliklari:

Tezkor kirish: Stack juda qulay, chunki u JVM tomonidan avtomatik ravishda boshqariladi.
Cheklangan hajm: Stack heap ga qaraganda kichikroq bo'lgani uchun katta ma'lumotlar strukturasi uchun mos emas.

JVM(Java Virtual Machine) primitiv turlar uchun xotira ajratishga javobgar hisoblanadi.

Heap haqida batafsil OOP qismida ko'rib chiqamiz.


Assalom aleykum Do'stlar. Kecha biz Primitive turlarning aynan Butun sonlar turini, ularning xotira bilan bog'liq qismini ko'rishni boshlagan edik.

Bugun aynan Butun sonlar xotirada qanday saqlanadi? Xotira o'zi nima?, u qanday ishlaydi? degan savollarga javob beramiz.

Xotira nima?

Xotira - bu kompyuter tizimining eng asosiy qismlaridan biridir. U ma'lumotlarlarning vaqtincha yoki doimiy ravishda saqlanadigan joyidir, shu orqali CPU (Markaziy protsessor) ularni tezda olishi mumkin. Xotirani kompyuteringizning "ish maydoni" deb tasavvur qiling, masalan, siz hujjatlar, kitoblar va vositalar ustida ishlash uchun stolga ehtiyoj bo'lganidek.

Dasturlashda xotira juda muhim rol o'ynaydi, chunki barcha o'zgaruvchilar, obyektlar va hatto dasturning o'zi ishlatilayotgan paytda qayerdadir saqlanishi kerak. Xotirasiz kompyuter dasturlarni bajarolmaydi yoki ma'lumotlarni saqlay olmaydi.

Xotira turlari:

RAM(Random Access Memory) - Kompyuterning asosiy xotirasi hisoblanadi.RAM o'zgaruvchan xotira bo'lib, kompyuter o'chirilganda ,uning ichidagi ma'lumotlar yo'qoladi.

Ayni vaqtda kompyuterda ishlayotgan dastur va ma'lumotlar (masalan Java dasturimiz ham) ga tezkor kirish uchun RAM ga yuklanadi.Kompyuterda qancha ko'p RAM bo'lsa, shuncha ko'p dasturlar va ma'lumotlar bir vaqtda ishlay oladi.


ROM(Read-Only Memory) - o'zgarmas xotira bo'lib,quvvat o'chirilganda ham uning ichidagi ma'lumotlar saqlanib qoladi. U odatda kompyuterni ishga tushirish uchun zarur bo'lgan ko'rsatmalarni saqlaydi.

Cache Memory - Kesh xotira kichik, juda tezkor xotira bo'lib CPU(Markaziy Protsessor) ga yaqin joylashgan va tez-tez ishlatiladigan ma'lumotlar va ko'rsatmalarni saqlab, ishlov berish tezligini oshiradi.


Do'stlar, o'tilayotgan har bir mavzular yuzasidan har bob oxirida test, topshiriq va o'tilgan bob yuzasidan video qo'llanma qo'yib borishga harakat qilamiz.

Shu sababli aktivroq bo'lib boring.Aynan shu sohaga endi kirib kelayotganlar va nimadan boshlashni bilmayotganlar bilan ulashsangiz ham manfaatli bo'ladi. Biz aynan o'tilayotgan mavzular yuzasidan savol javob muhitini yaratishni niyat qildik.

Bu o'tilayotgan mavzular sizga nima beradi?

Aynan dasturlash sohasida o'z kelajagini qurmoqchi bo'lgan yoshlar suhbat jarayonida fundamental bilimlarga ega bo'lishga, nazariy bilimlar bilan birga amaliy bilimlarni ham mustahkamlab olishga yordam beradi degan umiddamiz.

Shu sababli qo'yib borilayotgan materiallarimiz ko'proq yoshlarga yetib borishida o'z hissangizni qo'shing.


Keling, endi yuqorida aytib o'tganimdek, Integer sonlar turi xotiradan egallaydigan hajmiga va o'z ichiga oladigan sonlar chegarasiga qarab bir nechta turga bo'linishini ko'ramiz.
Ya'ni:

Nomi: hajmi: chegarasi:
byte - 1 byte (-128,128)
short - 2 bytes (-2¹⁵,2¹⁵-1)
int - 4 bytes (-2³¹,2³¹-1)
long - 8 bytes (-2⁶³,2⁶³-1)

Aynan Integer sonlar turini hajmiga qarab turlarga bo'lishdan maqsad nima?

Masalan yuqoridagi chegaralardan kelib chiqib, bizda ikki xil son bor.1-si 5 raqami,ikkinchisi yerdan quyoshgacha bo'lgan masofa taxminan 149600000 km. Biz shu ikki sonni primitive turdagi Integer sonlar turidan bittasiga o'zlashtirishimiz kerak.

Tabiiyki, 5 raqami byte turiga, 149600000 esa int turiga o'zlashtiriladi.Albatta 5 raqami yuqoridagi barcha turga mos keladi ,lekin byte dan boshqa turga o'zlashtirish xotiradan ortiqcha joyni band qilishga olib keladi.Lekin, 149600000 ni byte yoki short ga o'zlashtirsangiz (Incompatible type error- nomunosib tur xatoligi)ga duch kelasiz.

20 ta oxirgi post ko‘rsatilgan.