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 → qiymatOddiy 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 |
|---|---|---|
| kichik butun son |
|
| butun son |
|
| oddiy butun son |
|
| katta butun son |
|
| kasr son |
|
| aniqroq kasr son |
|
| bitta belgi |
|
| true/false |
|
Ko‘p ishlatiladiganlari:
int
long
double
boolean
char1.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; // xatoTo‘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:
BigDecimalishlatiladi.
Lekin beginner bosqichida doubleni tushunish yetarli.
1.7. boolean
boolean faqat ikkita qiymat oladi:
true
falseMisol:
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‘shtirnoqNoto‘g‘ri:
char letter = "A"; // xatoTo‘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 ValiyevSon bilan ham qo‘shiladi:
String name = "Ali";
int age = 25;
System.out.println(name + " " + age + " yoshda");Natija:
Ali 25 yoshda1.11. String’da + ishlaganda ehtiyot bo‘lish
System.out.println(10 + 20 + " Java");Natija:
30 JavaChunki avval 10 + 20 hisoblanadi.
Lekin:
System.out.println("Java " + 10 + 20);Natija:
Java 1020Chunki 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 301.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; // xatoConstants 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; // mumkinfinal variable:
final int age = 25;
age = 26; // xato1.14. Operators
Operator - qiymatlar ustida amal bajaradigan belgi.
Arithmetic operators
Operator | Ma’nosi | Misol |
|---|---|---|
| qo‘shish |
|
| ayirish |
|
| ko‘paytirish |
|
| bo‘lish |
|
| qoldiq |
|
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); // 1E’tibor ber:
int result = 10 / 3;
System.out.println(result);Natija:
3Chunki 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.33333333333333351.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 % 3Misol:
int count = 10;
count += 2;
System.out.println(count);Natija:
121.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:
41.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); // trueMuhim:
= qiymat berish
== taqqoslashNoto‘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 == trueOR 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 emas1.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’gaWidening casting
Bu xavfsiz casting. Java avtomatik qiladi.
int number = 100;
long bigNumber = number;
double decimal = number;Bu yerda int → long → double 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:
99Kasr 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:
3Agar 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: trueBu misolda bor:
String
int
double
boolean
final
comparison operator
logical operator
String concatenationQisqa 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‘zgartirishEng 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.