Java asoslari 1-qism

08.06.2026 | Muallif: Jaxongir a.k.a | Kategoriya: Java tili | 16 daqiqa o'qish

Endi Java’ning asosiy tiliga kiramiz: variable, type, operator, String, final, casting. Bu qismda Primitive types, variables, constants, operators, String, type casting mavzularini o‘z ichiga oladi.


1.1. Variable nima?

Variable - qiymat saqlaydigan nomlangan joy.

Masalan:

int age = 25;

Bu yerda:

int   → data type
age   → variable nomi
25    → qiymat

Oddiy tilda:

age degan joy ochildi va ichiga 25 saqlandi.

Yana misollar:

String name = "Ali";
double price = 19.99;
boolean active = true;
char grade = 'A';

1.2. Java strongly typed language

Java’da har bir variable’ning type bo‘lishi shart.

Noto‘g‘ri:

age = 25;

To‘g‘ri:

int age = 25;

Java oldindan bilishi kerak:

Bu variable ichida qanday turdagi ma’lumot saqlanadi?

Shuning uchun Java strongly typed language deyiladi.


1.3. Primitive types

Java’da eng asosiy data type’lar primitive types deyiladi.

Type

Nima saqlaydi

Misol

byte

kichik butun son

byte age = 20;

short

butun son

short year = 2026;

int

oddiy butun son

int count = 100;

long

katta butun son

long population = 37000000L;

float

kasr son

float price = 12.5f;

double

aniqroq kasr son

double salary = 1500.75;

char

bitta belgi

char letter = 'A';

boolean

true/false

boolean isActive = true;

Ko‘p ishlatiladiganlari:

int
long
double
boolean
char

1.4. int

int - eng ko‘p ishlatiladigan butun son turi.

int age = 25;
int count = 100;
int temperature = -5;

int kasr son saqlamaydi.

Noto‘g‘ri:

int price = 10.5; // xato

To‘g‘ri:

double price = 10.5;

1.5. long

long - juda katta butun sonlar uchun.

long usersCount = 5_000_000_000L;

Oxiridagi L muhim:

long number = 5000000000L;

Agar L yozilmasa, Java uni int deb tushunishga harakat qiladi va xato berishi mumkin.


1.6. double

double - kasr sonlar uchun.

double price = 99.99;
double weight = 72.5;
double rating = 4.8;

Pul bilan ishlaganda double ehtiyot bo‘lib ishlatiladi. Chunki double hisob-kitobda kichik aniqlik xatolari berishi mumkin.

Masalan real backend’da pul uchun ko‘pincha:

BigDecimal

ishlatiladi.

Lekin beginner bosqichida doubleni tushunish yetarli.


1.7. boolean

boolean faqat ikkita qiymat oladi:

true
false

Misol:

boolean isActive = true;
boolean isDeleted = false;
boolean hasPermission = true;

Ko‘pincha shartlarda ishlatiladi:

boolean isAdult = true;

if (isAdult) {
    System.out.println("Kirish mumkin");
}

1.8. char

char - bitta belgi saqlaydi.

char grade = 'A';
char symbol = '$';
char number = '7';

Muhim farq:

char letter = 'A';      // bitta tirnoq
String name = "Ali";    // qo‘shtirnoq

Noto‘g‘ri:

char letter = "A"; // xato

To‘g‘ri:

char letter = 'A';

1.9. String

String - matn saqlaydi.

String name = "Ali";
String message = "Salom Java";
String phone = "+998901234567";

String primitive type emas. U class hisoblanadi. Lekin juda ko‘p ishlatilgani uchun beginner bosqichida uni asosiy type kabi qabul qilsa bo‘ladi.


1.10. String concatenation

Matnlarni + orqali qo‘shish mumkin:

String firstName = "Ali";
String lastName = "Valiyev";

String fullName = firstName + " " + lastName;

System.out.println(fullName);

Natija:

Ali Valiyev

Son bilan ham qo‘shiladi:

String name = "Ali";
int age = 25;

System.out.println(name + " " + age + " yoshda");

Natija:

Ali 25 yoshda

1.11. String’da + ishlaganda ehtiyot bo‘lish

System.out.println(10 + 20 + " Java");

Natija:

30 Java

Chunki avval 10 + 20 hisoblanadi.

Lekin:

System.out.println("Java " + 10 + 20);

Natija:

Java 1020

Chunki birinchi "Java " String bo‘lgani uchun keyingi sonlar ham matnga qo‘shilib ketadi.

Agar hisoblash kerak bo‘lsa:

System.out.println("Java " + (10 + 20));

Natija:

Java 30

1.12. Variables naming

Variable nomi tushunarli bo‘lishi kerak.

Yomon:

int a = 25;
String s = "Ali";
double x = 99.99;

Yaxshi:

int age = 25;
String userName = "Ali";
double productPrice = 99.99;

Java’da odatda camelCase ishlatiladi:

String firstName;
int orderCount;
boolean isActive;
double totalPrice;

1.13. Constants va final

Agar variable qiymati o‘zgarmasligi kerak bo‘lsa, final ishlatiladi.

final int MAX_USERS = 100;

Endi bu qiymatni o‘zgartirib bo‘lmaydi:

MAX_USERS = 200; // xato

Constants odatda katta harflar bilan yoziladi:

final double PI = 3.14159;
final int MIN_AGE = 18;
final String APP_NAME = "Java App";

Oddiy variable:

int age = 25;
age = 26; // mumkin

final variable:

final int age = 25;
age = 26; // xato

1.14. Operators

Operator - qiymatlar ustida amal bajaradigan belgi.

Arithmetic operators

Operator

Ma’nosi

Misol

+

qo‘shish

a + b

-

ayirish

a - b

*

ko‘paytirish

a * b

/

bo‘lish

a / b

%

qoldiq

a % b

Misol:

int a = 10;
int b = 3;

System.out.println(a + b); // 13
System.out.println(a - b); // 7
System.out.println(a * b); // 30
System.out.println(a / b); // 3
System.out.println(a % b); // 1

E’tibor ber:

int result = 10 / 3;
System.out.println(result);

Natija:

3

Chunki int / int natija ham int bo‘ladi. Kasr qismi tashlab yuboriladi.

Agar kasr kerak bo‘lsa:

double result = 10.0 / 3;
System.out.println(result);

Natija:

3.3333333333333335

1.15. Assignment operators

Qiymat berish operatorlari:

int x = 10;

x += 5;  // x = x + 5
x -= 3;  // x = x - 3
x *= 2;  // x = x * 2
x /= 4;  // x = x / 4
x %= 3;  // x = x % 3

Misol:

int count = 10;
count += 2;

System.out.println(count);

Natija:

12

1.16. Increment va decrement

++ qiymatni 1 taga oshiradi.

int count = 5;
count++;

System.out.println(count);

Natija:

6

-- qiymatni 1 taga kamaytiradi.

int count = 5;
count--;

System.out.println(count);

Natija:

4

1.17. Comparison operators

Taqqoslash operatorlari natijada boolean qaytaradi.

Operator

Ma’nosi

==

tengmi

!=

teng emasmi

>

kattami

<

kichikmi

>=

katta yoki tengmi

<=

kichik yoki tengmi

Misol:

int age = 20;

System.out.println(age >= 18); // true
System.out.println(age < 18);  // false
System.out.println(age == 20); // true

Muhim:

=   qiymat berish
==  taqqoslash

Noto‘g‘ri:

if (age = 18) { }

To‘g‘ri:

if (age == 18) { }

1.18. Logical operators

Logical operators bir nechta shartni birlashtiradi.

Operator

Ma’nosi

&&

AND - hammasi true bo‘lsa

`

!

NOT - teskarisi

Misol:

int age = 25;
boolean hasTicket = true;

if (age >= 18 && hasTicket) {
    System.out.println("Kirish mumkin");
}

Bu yerda ikkala shart ham true bo‘lishi kerak:

age >= 18
hasTicket == true

OR misol:

boolean isAdmin = false;
boolean isOwner = true;

if (isAdmin || isOwner) {
    System.out.println("Ruxsat bor");
}

Bu yerda bittasi true bo‘lsa ham yetadi.

NOT misol:

boolean isBlocked = false;

if (!isBlocked) {
    System.out.println("Foydalanuvchi aktiv");
}

!isBlocked degani:

blocked emas

1.19. Type casting

Type casting - bir type’dan boshqa type’ga o‘tkazish.

Java’da ikki xil casting bor:

Widening casting  → kichik type’dan katta type’ga
Narrowing casting → katta type’dan kichik type’ga

Widening casting

Bu xavfsiz casting. Java avtomatik qiladi.

int number = 100;
long bigNumber = number;
double decimal = number;

Bu yerda intlongdouble muammosiz o‘tadi.

Kichik idishdagi suvni katta idishga quyish kabi.

Narrowing casting

Bu xavfliroq. Java avtomatik qilmaydi. O‘zing majburan yozishing kerak.

double price = 99.99;
int roundedPrice = (int) price;

System.out.println(roundedPrice);

Natija:

99

Kasr qismi yo‘qoladi.

Yana misol:

long bigNumber = 1000L;
int number = (int) bigNumber;

Bu ishlaydi. Lekin juda katta long qiymatni intga sig‘dirishga harakat qilsak, noto‘g‘ri natija chiqishi mumkin.


1.20. Keng tarqalgan beginner xatolar

Xato 1: int bilan kasr saqlash

Noto‘g‘ri:

int price = 10.5;

To‘g‘ri:

double price = 10.5;

Xato 2: char va Stringni adashtirish

Noto‘g‘ri:

char letter = "A";

To‘g‘ri:

char letter = 'A';

Xato 3: = va ==ni adashtirish

Noto‘g‘ri:

if (age = 18) {
}

To‘g‘ri:

if (age == 18) {
}

Xato 4: Integer division

System.out.println(10 / 3);

Natija:

3

Agar 3.333... kerak bo‘lsa:

System.out.println(10.0 / 3);

1.21. Kichik amaliy misol

public class Main {
    public static void main(String[] args) {
        String userName = "Ali";
        int age = 20;
        double balance = 150.75;
        boolean isActive = true;
        final int MIN_AGE = 18;

        boolean canUseService = age >= MIN_AGE && isActive;

        System.out.println("User: " + userName);
        System.out.println("Age: " + age);
        System.out.println("Balance: " + balance);
        System.out.println("Can use service: " + canUseService);
    }
}

Natija:

User: Ali
Age: 20
Balance: 150.75
Can use service: true

Bu misolda bor:

String
int
double
boolean
final
comparison operator
logical operator
String concatenation

Qisqa xulosa

Bu bo‘limda Java’ning eng asosiy qurilish bloklarini ko‘rdik:

Variable      → qiymat saqlaydi
Type          → qiymat turini bildiradi
Primitive     → int, long, double, boolean, char
String        → matn saqlaydi
final         → o‘zgarmas qiymat
Operator      → amal bajaradi
Casting       → type o‘zgartirish

Eng muhim eslab qoladigan joy:

Java’da har bir qiymatning type’i bor.
Type noto‘g‘ri tanlansa, kod compile bo‘lmaydi yoki noto‘g‘ri natija beradi.