Bloqlara qayıt
13.10.2026 12 dəqiqə

Java dərsləri: sıfırdan başlayanlar üçün bələdçi

JavaJava dərsləriBaşlanğıcOOP
Java dərsləri: sıfırdan başlayanlar üçün bələdçi

Bu Java dərsləri heç vaxt kod yazmamış insanlar üçündür. Kompüterə Java-nı quraşdırmaqdan başlayıb ilk proqramınızı, dəyişənləri, şərtləri, dövrləri, metodları və obyekt yönümlü proqramlaşdırmanın əsaslarını addım-addım keçəcəyik. Hər bölmədə kod nümunəsi var. Ən yaxşı nəticə üçün onları köçürməyin, əl ilə yazın və dəyişib nə baş verdiyinə baxın.

Dərslərin planı

  • Dərs 1: Java-nı quraşdırmaq və ilk proqram
  • Dərs 2: Dəyişənlər və məlumat tipləri
  • Dərs 3: İstifadəçidən məlumat almaq
  • Dərs 4: Şərtlər (if / else, switch)
  • Dərs 5: Dövrlər (for, while)
  • Dərs 6: Massivlər və ArrayList
  • Dərs 7: Metodlar
  • Dərs 8: Siniflər və obyektlər (OOP-a giriş)
  • Praktiki tapşırıqlar

Java nədir və niyə öyrənməliyəm?

Java 1995-ci ildən bəri mövcud olan, dünyanın ən populyar proqramlaşdırma dillərindən biridir. Onun əsas ideyası belədir: "Bir dəfə yaz, hər yerdə işlət". Java kodu JVM (Java Virtual Machine) üzərində işləyir, ona görə də eyni proqram Windows, macOS və Linux-da dəyişmədən işləyir. Bankların, böyük şirkətlərin backend sistemləri, Android tətbiqləri və big data alətləri Java ilə yazılır. Java developer-lərə tələbat həmişə yüksəkdir.

Dərs 1: Java-nı quraşdırmaq və ilk proqram

Java proqramı yazmaq üçün JDK (Java Development Kit) lazımdır. adoptium.net saytından JDK 21 (LTS) versiyasını yükləyib quraşdırın. Kod yazmaq üçün pulsuz IntelliJ IDEA Community Edition tövsiyə edirik.

Quraşdırmanı yoxlayın:

java -version

İndi Salam.java adlı fayl yaradın və bu kodu yazın:

public class Salam {
    public static void main(String[] args) {
        System.out.println("Salam, Java!");
    }
}
java Salam.java
# Salam, Java!

Hər sətrin mənası:

  • public class Salam: Java-da hər kod bir sinifin (class) içində olur. Faylın adı sinifin adı ilə eyni olmalıdır.
  • public static void main(String[] args): proqramın başladığı yer. Java proqramı işə salanda ilk bu metodu axtarır.
  • System.out.println(...): ekrana mətn yazır və yeni sətrə keçir.

Dərs 2: Dəyişənlər və məlumat tipləri

Dəyişən məlumatı saxlamaq üçün adı olan bir "qutudur". Java-da hər dəyişənin tipi olur və o, qutuya nə qoya biləcəyinizi təyin edir.

public class Deyisenler {
    public static void main(String[] args) {
        String ad = "Leyla";          // mətn
        int yas = 22;                 // tam ədəd
        double boy = 1.68;            // kəsr ədəd
        boolean telebedir = true;     // doğru / yanlış
        char qrup = 'A';              // tək simvol

        System.out.println(ad + " " + yas + " yaşındadır.");

        yas = yas + 1;                // dəyişənin dəyəri dəyişə bilər
        System.out.println("Gələn il: " + yas);

        final double PI = 3.14159;    // final: sabit, dəyişmək olmaz
    }
}
TipNə saxlayırNümunə
intTam ədəd42
longBöyük tam ədəd9000000000L
doubleKəsr ədəd3.75
booleanDoğru və ya yanlıştrue
charBir simvol'Z'
StringMətn"Bakı"

Tip aydın olanda var da yaza bilərsiniz: var seher = "Gəncə";. Java tipi özü müəyyən edir.

Dərs 3: İstifadəçidən məlumat almaq

Proqramlar adətən istifadəçi ilə danışır. Klaviaturadan məlumat oxumaq üçün Scanner sinfindən istifadə edirik:

import java.util.Scanner;

public class Tanisliq {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Adınız: ");
        String ad = scanner.nextLine();

        System.out.print("Doğum iliniz: ");
        int il = scanner.nextInt();

        int yas = 2026 - il;
        System.out.println("Salam, " + ad + "! Siz " + yas + " yaşındasınız.");
    }
}

Dərs 4: Şərtlər (if / else, switch)

Şərtlər proqramın vəziyyətə görə fərqli qərar verməsini təmin edir.

int bal = 76;

if (bal >= 91) {
    System.out.println("Əla");
} else if (bal >= 71) {
    System.out.println("Yaxşı");
} else if (bal >= 51) {
    System.out.println("Kafi");
} else {
    System.out.println("Qeyri-kafi");
}

Müqayisə operatorları: == (bərabər), != (bərabər deyil), >, <, >=, <=. Məntiqi operatorlar: && (və), || (və ya), ! (inkar).

Çoxlu variant olanda müasir switch ifadəsi daha oxunaqlıdır:

int gun = 3;

String gunAdi = switch (gun) {
    case 1 -> "Bazar ertəsi";
    case 2 -> "Çərşənbə axşamı";
    case 3 -> "Çərşənbə";
    case 4 -> "Cümə axşamı";
    case 5 -> "Cümə";
    case 6, 7 -> "Həftə sonu";
    default -> "Belə gün yoxdur";
};
System.out.println(gunAdi);   // Çərşənbə
Diqqət: mətnləri == ilə yox, .equals() ilə müqayisə edin: ad.equals("Leyla"). Bu, yeni başlayanların ən çox etdiyi səhvdir.

Dərs 5: Dövrlər (for, while)

Dövrlər eyni işi təkrar-təkrar etmək üçündür.

// for: neçə dəfə təkrarlanacağı məlumdursa
for (int i = 1; i <= 5; i++) {
    System.out.println("7 x " + i + " = " + (7 * i));
}

// while: şərt doğru olduqca davam edir
int qaliq = 100;
while (qaliq > 0) {
    System.out.println("Qalıq: " + qaliq);
    qaliq -= 30;
}

break dövrü dərhal dayandırır, continue isə cari addımı keçib növbətisinə gedir.

Dərs 6: Massivlər və ArrayList

Çoxlu eyni tipli dəyəri bir yerdə saxlamaq üçün massivdən istifadə edirik. Massivin ölçüsü sabitdir:

String[] kurslar = {"Java", "Python", "UX/UI"};
System.out.println(kurslar[0]);        // Java (sayma 0-dan başlayır)
System.out.println(kurslar.length);    // 3

for (String kurs : kurslar) {
    System.out.println("- " + kurs);
}

Ölçüsü dəyişə bilən siyahı lazımdırsa, ArrayList daha rahatdır:

import java.util.ArrayList;
import java.util.List;

List<String> telebeler = new ArrayList<>();
telebeler.add("Aysel");
telebeler.add("Murad");
telebeler.add("Nigar");
telebeler.remove("Murad");

System.out.println(telebeler);         // [Aysel, Nigar]
System.out.println(telebeler.size());  // 2

Dərs 7: Metodlar

Metod müəyyən bir işi görən, adı olan kod blokudur. Eyni kodu təkrar yazmamaq və proqramı hissələrə bölmək üçün metodlardan istifadə edirik.

import java.util.List;

public class Metodlar {

    // iki ədədi alır, ən böyüyünü qaytarır
    static int enBoyuk(int a, int b) {
        return a > b ? a : b;
    }

    // heç nə qaytarmır (void), sadəcə ekrana yazır
    static void salamla(String ad) {
        System.out.println("Xoş gəldiniz, " + ad + "!");
    }

    static double ortaBal(List<Integer> ballar) {
        int cem = 0;
        for (int b : ballar) {
            cem += b;
        }
        return (double) cem / ballar.size();
    }

    public static void main(String[] args) {
        System.out.println(enBoyuk(12, 30));          // 30
        salamla("Rəşad");
        System.out.println(ortaBal(List.of(80, 95, 70)));  // 81.66...
    }
}

Dərs 8: Siniflər və obyektlər (OOP-a giriş)

Java obyekt yönümlü dildir. Sinif bir "şablondur", obyekt isə bu şablondan yaradılmış konkret nüsxədir. Məsələn, BankHesabi sinfi hesabın necə olacağını təsvir edir, hər müştərinin hesabı isə ayrıca obyektdir.

public class BankHesabi {

    private final String sahib;   // private: kənardan birbaşa dəyişmək olmaz
    private double balans;

    public BankHesabi(String sahib) {   // konstruktor: obyekt yaradılanda işləyir
        this.sahib = sahib;
        this.balans = 0;
    }

    public void medaxil(double mebleg) {
        if (mebleg <= 0) {
            throw new IllegalArgumentException("Məbləğ müsbət olmalıdır");
        }
        balans += mebleg;
    }

    public boolean mexaric(double mebleg) {
        if (mebleg > balans) {
            return false;   // balans kifayət etmir
        }
        balans -= mebleg;
        return true;
    }

    public double getBalans() {
        return balans;
    }
}
BankHesabi hesab = new BankHesabi("Aysel");
hesab.medaxil(500);
hesab.mexaric(120);
System.out.println(hesab.getBalans());   // 380.0

Burada OOP-un ilk prinsipini, inkapsulyasiyanı gördük: balans sahəsi gizlidir və yalnız qaydalara uyğun metodlarla dəyişir. Heç kim balansı birbaşa mənfi edə bilməz. Davamında irsiyyət, polimorfizm və interfeysləri öyrənəcəksiniz.

Praktiki tapşırıqlar

Öyrəndiklərinizi möhkəmləndirmək üçün bu tapşırıqları özünüz həll edin:

  1. İstifadəçidən ədəd alıb onun cüt və ya tək olduğunu yazan proqram.
  2. 1-dən 100-ə qədər ədədlərdən 3-ə bölünənlərin cəmini tapın.
  3. Bir cümlədə neçə sait hərf olduğunu sayan metod yazın.
  4. Tələbələrin ballarından ibarət siyahıda ən yüksək və ən aşağı balı tapın.
  5. BankHesabi sinfinə bir hesabdan digərinə pul köçürən kocur metodu əlavə edin.

Növbəti addım nədir?

Bu dərslər Java-nın təməlidir. Bundan sonra OOP-un qalan prinsiplərini, kolleksiyaları, exception-ları, Stream API-ni, verilənlər bazasını və Spring Boot-u öyrənməlisiniz. Bütün yolu mərhələlərlə Java Roadmap 2026 məqaləmizdə yazmışıq. Java ilə süni intellekt layihələri maraqlıdırsa, Java ilə Süni İntellekt seriyamıza baxın.

Java-nı təkbaşına yox, mentorla öyrənin. ITBrains-in Back End (Java) proqramında hər dərsdən sonra praktiki tapşırıqlar, kod review və real layihələr var. Sıfırdan başlayanlar üçün də uyğundur.

Tədris proqramlarına baxın → · Pulsuz məsləhət alın →

Tez-tez verilən suallar

Java sıfırdan başlayanlar üçün çətindirmi?

Java-nın sintaksisi Python-a nisbətən bir az uzundur, amma bu, səhvləri erkən tutmağa kömək edir və proqramlaşdırma anlayışlarını daha dərindən başa düşdürür. Düzgün ardıcıllıqla və gündəlik praktika ilə sıfırdan başlayan hər kəs Java öyrənə bilər.

Java öyrənmək üçün hansı proqramı quraşdırmalıyam?

JDK 21 (Java Development Kit) və kod redaktoru kimi IntelliJ IDEA Community Edition. Hər ikisi pulsuzdur. Başlamaq üçün başqa heç nə lazım deyil.

Java ilə JavaScript eyni dildir?

Xeyr. Adları oxşar olsa da, tamamilə fərqli dillərdir. Java əsasən backend, Android və korporativ sistemlər üçün, JavaScript isə əsasən veb səhifələrin brauzerdə işləyən hissəsi üçün istifadə olunur.

Gündə nə qədər Java öyrənməliyəm?

Uzun, nadir dərslərdən daha çox gündəlik 1-2 saatlıq ardıcıl praktika effektivdir. Əsas odur ki, hər gün ən azı kiçik bir kod yazasınız.