JAVA ƏSASLARIDərs 01
Java-ya giriş

// Java əsasları · Dərs 01

Java-ya giriş

Java haradan yaranıb, yazdığınız kod necə işləyən proqrama çevrilir və ilk proqramınızı necə yazıb, kompilyasiya edib işə salmaq olar.

BU DƏRSİN SONUNDA BACARACAQSINIZ

  • JDK, JRE və JVM arasındakı fərqi izah etmək
  • Main.java faylından “Hello, World!” nəticəsinə qədər nə baş verdiyini təsvir etmək
  • JDK 25 və IntelliJ IDEA quraşdırmaq
  • Terminalda proqramı kompilyasiya edib işə salmaq və xətalarını oxumaq
Main.java
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
Proqramı kompilyasiya edib başlatmaq üçün “İşə sal” düyməsini basın.
  1. Main.java
  2. →
  3. javac
  4. →
  5. Main.class
  6. →
  7. JVM
  8. →
  9. nəticə

Hissə 1 / 6

Java-nın tarixi

Televizor pultu üçün başlanan uğursuz layihə necə oldu ki, bankların, telekom şirkətlərinin və milyonlarla serverin dilinə çevrildi.

// 1.1

Televizor pultundan dünyanın serverlərinə

Zaman xəttində bir il seçin və ya hekayəni ox düymələri ilə addım-addım izləyin.

// 1.2

James Gosling — Java-nın atası

James Gosling-in portreti
James Gosling Sun Microsystems-də Oak dilini yaratdı. Sonradan bu dil Java adlandırıldı.

1995-ci ildə Sun yeni dili The Java Language: A White Paper sənədində on bir məşhur sifətlə (buzzwords) təsvir etdi. Hər birinin o vaxt və bu gün nə demək olduğunu görmək üçün üzərinə klikləyin.

“Java — , , , , , , , , , , dildir.”

Hissə 2 / 6

Java nədir?

Dil, platforma və backend sistemlər üçün ən çox istifadə olunan texnologiyalardan biri.

// 2.1

Java həm dil, həm də platformadır

Java ümumi təyinatlı, statik tipli, obyektyönümlü proqramlaşdırma dilidir. Kodunuz bayt-koda (bytecode) kompilyasiya olunur, bayt-kod isə Java Virtual Machine (JVM) üzərində icra olunur.

Dil

Yazdığınız qaydalar və sintaksis.

  • Statik tipli: hər dəyişənin (variable) tipi var və bu tip proqram işə düşməzdən əvvəl yoxlanılır
  • Obyektyönümlü: kod siniflərin və obyektlərin içində yaşayır
  • C üslubunda sintaksis: C, C# və ya JavaScript görmüsünüzsə, tanış gələcək

Platforma

Kodunuzu işə salan hər şey.

  • JVM bayt-kodu istənilən əməliyyat sistemində icra edir
  • Standart kitabxana sizə minlərlə hazır sinif verir
  • Alətlər: javac, java, jshell və başqaları

Eyni JVM üzərində başqa dillər də işləyir: Kotlin, Scala, Groovy və Clojure. Platformanı bir dəfə öyrənin, bu bilik hamısında işinizə yarayacaq.

// 2.2

Java bu gün harada işləyir

Siz hər gün Java ilə işləyən sistemlərdən istifadə edirsiniz, sadəcə adətən bunu görmürsünüz.

Backend və API-lər

Veb və mobil tətbiqlərin arxasındakı Spring Boot servisləri. Bu kurs məhz bunu öyrədir.

Bank və fintex

Ödənişlər, əsas bank sistemləri, kart əməliyyatlarının emalı və birja ticarəti sistemləri.

Telekom

Mobil operatorlar üçün billinq, müştəri idarəetməsi və şəbəkə sistemləri.

Android

Android tətbiqləri Java və ya Kotlin dilində, Java-nın kitabxanaları və alətləri ilə yazılır.

Böyük verilənlər və stream emalı

Kafka, Hadoop, Spark və Elasticsearch-ün hamısı JVM üzərində işləyir.

Alətlər və oyunlar

IntelliJ IDEA, Jenkins və Minecraft: Java Edition.

// 2.3

Java JavaScript deyil

Adların oxşarlığı 1995-ci ildə Netscape ilə Sun arasında bağlanmış marketinq razılaşmasının nəticəsidir. Dillər isə tamamilə fərqlidir. Belə bir zarafat var: Java JavaScript-ə nə qədər bənzəyirsə, xal da xalçaya o qədər bənzəyir.

JavaJavaScript
YaradıcısıSun Microsystems, 1995Netscape, 1995
TiplərStatik: int age = 25;Dinamik: let age = 25;
Harada işləyirBayt-koda kompilyasiyadan sonra JVM-dəBrauzerlərdə və Node.js-də
Əsas istifadəsiBackend sistemlər, Android, korporativ proqram təminatıVeb səhifələr və frontend; Node.js ilə backend də

Mini oyun: Java, yoxsa JavaScript?

// 2.4

Hər altı aydan bir yeni Java

2018-ci ildən bəri hər mart və sentyabr ayında yeni versiya çıxır. Hər iki ildən bir onlardan biri LTS (long-term support, uzunmüddətli dəstək) olur: illər boyu yeniləmələr alır, ona görə də şirkətlər production-da LTS versiyalarından istifadə edir. Nə əlavə etdiyini görmək üçün versiyanın üzərinə klikləyin.

Funksional relizLTS relizKursumuzun versiyası

Hissə 3 / 6

Java necə işləyir

Yazdığınız mətndən prosessorun icra edə biləcəyi instruksiyalara qədər.

// 3.1

Kodu işə salmağın iki yolu

Prosessor (CPU) yalnız maşın kodunu başa düşür. Hər dilin mənbə kodundan maşın koduna keçmək üçün bir yolu olmalıdır.

Kompilyator

Proqram işə düşməzdən əvvəl onu bütövlükdə maşın koduna çevirir.

mənbə kodu → kompilyator → maşın kodu → icra
Üstünlükləri
  • Sürətli icra
  • Bir çox xəta proqram işə düşməzdən əvvəl tapılır
Çatışmazlıqları
  • Hər əməliyyat sistemi və prosessor üçün yenidən kompilyasiya lazımdır

Nümunələr: C, C++, Go, Rust

İnterpretator

Proqramı oxuyur və onu işlədiyi zaman addım-addım icra edir.

mənbə kodu → interpretator (icra edir)
Üstünlükləri
  • İnterpretatoru olan hər yerdə işləyir
  • Dəyişiklikləri tez yoxlamaq olur
Çatışmazlıqları
  • Daha yavaş icra
  • Xətalar yalnız icra zamanı üzə çıxır

Nümunələr: Python, Ruby, PHP

Java hər ikisini edir. Əvvəlcə kodunuzu bayt-koda kompilyasiya edir, sonra JVM bu bayt-kodu interpretasiya edir və proqram işləyərkən tez-tez işlənən hissələri maşın koduna kompilyasiya edir. Növbəti bölmə bunu addım-addım göstərir.

// 3.2

Main.java faylından “Hello, World!” nəticəsinə

Beş mərhələ. Mərhələnin üzərinə klikləyin və ya “Növbəti” düyməsini basın.

// 3.3

Bir dəfə yaz, hər yerdə işlət

Kodu bir dəfə kompilyasiya edirsiniz. Eyni Main.class faylı JVM olan istənilən əməliyyat sistemində işləyir. Əməliyyat sistemini dəyişin və nəyin dəyişdiyinə baxın.

JVM platformadan asılıdır. Bayt-kodunuz isə yox.

Oracle, Eclipse Adoptium və digər istehsalçılar hər əməliyyat sistemi və prosessor üçün ayrıca JVM hazırlayır. Proqramınız hansı JVM-də işlədiyini bilməli deyil.

Main.classhər yerdə eyni
Windows x64 üçün JVMhər ƏS üçün ayrı
x86-64 maşın koduhər CPU üçün ayrı
Hello, World!

// 3.4

JDK, JRE və JVM

Tez-tez eşidəcəyiniz üç ad. Onlar bir-birinin içində yerləşir. Təbəqənin üzərinə klikləyin.

JDKJava Development Kit
JREJava Runtime Environment
JVMJava Virtual Machine
sinif yükləyicisiyaddaşinterpretatorJITzibil toplayıcı

+ standart siniflər kitabxanası

java.langjava.utiljava.timejava.iojava.net

+ proqramlaşdırma alətləri

javacjshelljarjavadocjavapjdb

// 3.5

JVM-in içində

JVM-in üç əsas hissəsi var: biri siniflərinizi yükləyir, biri proqram işləyərkən verilənləri saxlayır, biri isə kodu icra edir. İstənilən qutunun üzərinə klikləyin.

Main.class bura daxil olur

Sinif yükləyici altsistemi .class fayllarını yükləyir

Yükləmə
Əlaqələndirmə
İnisializasiya

İcra zamanı verilənlər sahələri ■ bütün axınlar (threads) üçün ortaq · ■ hər axın üçün ayrıca

İcra mexanizmi bayt-kodu icra edir

// 3.6

Java işlədikcə niyə sürətlənir

JVM hər metodun neçə dəfə işlədiyini sayır. Metod “isti” olanda JIT kompilyatoru onu maşın koduna çevirir. Aşağıdakı metodu çağırın və onun səviyyələr üzrə necə yüksəldiyinə baxın.

Calculator.java
static int square(int x) {
    return x * x;
}
Çağırışların sayı
0
interpretasiya olunur
0C1: 10C2: 30
İnterpretator
100
C1 kompilyatoru
30
C2 kompilyatoru
8

Zolaqlar bir çağırışın vaxtını şərti vahidlərlə göstərir. Real JVM minlərlə çağırışdan ibarət hədlərdən və öz ölçmələrindən istifadə edir.

// 3.7

JDK-nın içindəki alətlər

İlk üçündən bu gün istifadə edəcəksiniz. Qalanları kursun sonrakı dərslərində lazım olacaq.

AlətNə edirNümunə
javac.java mənbə kodunu .class bayt-koduna kompilyasiya edirjavac Main.java
javaJVM-i başladır və proqramı işə salırjava Main
jshellJava kodunu sətir-sətir sınamaq üçün interaktiv konsoljshell
jarÇoxlu .class faylını bir .jar arxivinə yığırjar cf app.jar *.class
javadocKoddakı şərhlərdən HTML sənədləri yaradırjavadoc -d docs Main.java
javap.class faylının içindəki bayt-kodu göstərirjavap -c Main
jdbKomanda sətri sazlayıcısı (IntelliJ-in sazlayıcısı daha rahatdır)jdb Main

Hissə 4 / 6

Kompüterinizi hazırlayın

Bu gün iki şey quraşdırmalısınız: JDK və IDE.

// 4.1

Sizə nə lazımdır

JDK 25 LTS

Kompilyator, JVM və alətlər.

Biz Eclipse Temurin 25 istifadə edirik. Bu, adoptium.net saytında yayımlanan pulsuz, açıq mənbəli JDK-dır.

Digər JDK-lar da eyni cür işləyir, çünki hamısı OpenJDK əsasında qurulub: Oracle JDK, Amazon Corretto, Azul Zulu, Microsoft Build of OpenJDK.

IntelliJ IDEA

Java komandalarının çoxunun istifadə etdiyi IDE: redaktor, sazlayıcı və build alətləri bir pəncərədə.

Onu jetbrains.com/idea saytından endirin. Bu kurs üçün pulsuz versiya kifayətdir. Tələbələr pulsuz təhsil lisenziyası üçün də müraciət edə bilər.

Alternativlər: Java genişləndirmələri ilə VS Code və ya Eclipse.

Köhnə dərsliklərdə “Java 8 quraşdırın” və ya “JRE quraşdırın” yazılır. Buna fikir verməyin. JDK quraşdırın, versiya 25.

// 4.2

JDK-nı quraşdırın və yoxlayın

  1. adoptium.net saytını açın, Windows, x64, JDK 25 seçin və .msi quraşdırıcısını endirin.
  2. Quraşdırıcını işə salın. “Custom Setup” ekranında Add to PATH və Set JAVA_HOME variable seçimlərini aktiv edin.
  3. Yeni PowerShell və ya Command Prompt pəncərəsi açın və hər iki aləti yoxlayın:
    java -version
    javac -version
Gözlənilən nəticə (versiya fərqli ola bilər)
$ java -version
openjdk version "25.0.1" 2025-10-21 LTS
OpenJDK Runtime Environment Temurin-25.0.1+8 (build 25.0.1+8-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.1+8 (build 25.0.1+8-LTS, mixed mode, sharing)
$ javac -version
javac 25.0.1
“java is not recognized” və ya “command not found: java”

Terminal JDK-nı tapa bilmir. Əvvəlcə terminalı bağlayıb yenisini açın. Yenə alınmırsa, JDK-nın bin qovluğu PATH-da deyil: quraşdırıcını yenidən işə salıb PATH seçimini aktiv edin və ya JAVA_HOME və PATH dəyişənlərini qurmaq üçün müəllimdən kömək istəyin.

java işləyir, amma javac tapılmır

Sizdə kompilyatorsuz runtime quraşdırılıb və ya PATH-da köhnə Java birinci gəlir. JDK quraşdırın (JRE yox) və yeni terminal açın.

java -version 1.8, 11 və ya 17 göstərir

Köhnə Java quraşdırılıb və PATH-da birinci gəlir. JAVA_HOME dəyişənini JDK 25 qovluğuna yönəldin və %JAVA_HOME%\bin (Windows) və ya $JAVA_HOME/bin (macOS, Linux) yolunu PATH-ın əvvəlinə qoyun.

// 4.3

İlk IntelliJ layihəniz

  1. IntelliJ IDEA-nı açın və New Project düyməsini basın.
  2. Java seçin. Layihəni lesson01 adlandırın. Build system: IntelliJ (kursun sonrakı hissələrində Maven-ə keçəcəyik).
  3. JDK sahəsində 25-i seçin. Hələ yoxdur? Download JDK… seçin: versiya 25, istehsalçı (vendor) Eclipse Temurin.
  4. Add sample code seçimini aktiv edin və Create düyməsini basın. IntelliJ sizin üçün src/Main.java faylını yaradacaq.
  5. Proqramı işə salmaq üçün main metodunun yanındakı yaşıl ▶ işarəsini basın. Nəticə aşağıdakı Run pəncərəsində görünəcək.

Vaxta qənaət edən qısayollar

  • psvm və ya main + Tabmain metodunu sizin üçün yazır
  • sout + TabSystem.out.println(); yazır
  • Shift + F10 · Mac: ⌃ + Rproqramı yenidən işə salır
  • Alt + Enter · Mac: ⌥ + Enterqırmızı kod üçün tez düzəlişlər təklif edir

Hissə 5 / 6

İlk Java proqramınız

Yazın, kompilyasiya edin, işə salın, sındırın və hər sətri başa düşün.

// 5.1

Hello World-un anatomiyası

Beş sətir və hər sözün öz vəzifəsi var. İşarələnmiş istənilən hissənin üzərinə klikləyin və ya siçanı aparın.

Main.java
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

Əvvəlcə static sözünü sınayın. Yeni başlayanlar ən çox onun haqqında soruşur.

// 5.2

Terminalda kompilyasiya və icra

IntelliJ-in Run düyməsi bu addımları sizin yerinizə edir. Əslində nə baş verdiyini bilmək üçün onları bir dəfə əl ilə edin. Aşağıdakı məşq terminalında əmr yazın və ya təkliflərdən birinə klikləyin.

~/lesson01 — məşq terminalı

Tapşırıqlarınız

    BUNLARI SINAYIN

    java Main.class yox, java Main yazılır. JVM-ə fayl adını deyil, sinif adını verirsiniz.

    // 5.3

    Bilərəkdən sındırın

    Xətalar normaldır. Onları oxumaq isə bacarıqdır. Bir səhv seçin, javac alətinin dəqiq nə çap etdiyinə baxın və onu necə düzəltməyi öyrənin.

    Main.java
    
              
    
            

    // 5.4

    Java 25 ilk proqramı qısaldır

    Java 25 kompakt mənbə fayllarını (compact source files) əlavə etdi. Kiçik proqramlarda sinfi, static sözünü və String[] args hissəsini yazmaya bilərsiniz.

    Main.java
    
            
    
          

    // 5.5

    JShell: Java-nı faylsız sınayın

    Terminalda jshell yazın və interaktiv Java konsolu açılacaq. Sürətli təcrübələr üçün idealdır. Klikləməzdən əvvəl hər sətrin nə çap edəcəyini təxmin edin.

    JShell-dən /exit ilə çıxın. Dəyişənlərinizi görmək üçün /vars, qalan hər şey üçün /help yazın.

    // 5.6

    Qaydalar və adlandırma razılaşmaları

    Solda qaydalar: onları pozsanız, kod kompilyasiya olunmayacaq. Sağda razılaşmalar (conventions): onları pozsanız, kod kompilyasiya olunacaq, amma hər Java proqramçısı bunu dərhal görəcək.

    Qaydalar

    • Java böyük-kiçik hərfə həssasdırMain və main fərqli adlardır. System və system da.
    • Fayl adı = public sinfin adıpublic class Main mütləq Main.java faylında saxlanılmalıdır.
    • Əmrlər ; ilə bitirCümlənin sonundakı nöqtə kimi.
    • Bloklar { } ilə yazılırSətir başındakı boşluqlar insanlar üçündür. Kompilyator yalnız fiqurlu mötərizələri oxuyur.

    Adlandırma razılaşmaları

    NəÜslubNümunə
    SinifPascalCaseBankAccount
    MetodcamelCasecalculateTotal()
    DəyişəncamelCasefirstName
    SabitUPPER_SNAKE_CASEMAX_SIZE
    Paketkiçik hərflər, nöqtələraz.example.shop

    ŞƏRHLƏR

    // birsətirlik şərh
    /* bir neçə sətirdən
       ibarət şərh */
    /** Javadoc: sinfi və ya metodu təsvir edir */

    Hissə 6 / 6

    Yekun

    Yadda saxlamalı olduqlarınız, özünüzü yoxlamaq üçün test və ev tapşırığı.

    // 6.1

    Əsas nəticələr

    1. Java Sun Microsystems-də (1991–1995) James Gosling-in komandası tərəfindən yaradılıb. Bu gün ona Oracle sahiblik edir, inkişafı isə OpenJDK layihəsində açıq şəkildə aparılır.

    2. javac .java fayllarını bayt-koda (.class) kompilyasiya edir. Bayt-kodu JVM icra edir. Java-nın hər yerdə işləməsinin səbəbi də budur.

    3. JDK = JRE + proqramlaşdırma alətləri. JRE = JVM + standart kitabxana. Proqramçı kimi siz JDK quraşdırırsınız.

    4. JIT kompilyatoru isti kodu sürətləndirir, zibil toplayıcı isə yaddaşı sizin yerinizə boşaldır.

    5. Hər altı aydan bir yeni Java çıxır. Java 25 hazırkı LTS versiyasıdır və biz ondan istifadə edirik.

    6. Kompilyasiya xətaları faylı, sətri və problemi göstərir. Onları yuxarıdan aşağı oxuyun.

    // 6.2

    Özünüzü yoxlayın

    On sual. Cavab seçən kimi düzgün cavabı görəcəksiniz.

    Nəticə
    0 / 10
    Yuxarıdakı suallara cavab verin.

    // 6.3

    Ev tapşırığı

    Bitirdiyiniz tapşırıqları qeyd edin. Qeydləriniz yalnız bu brauzerdə saxlanılır.

    Hazırdır: 0 / 6

    // 6.4

    Suallar?

    Növbəti dərs: Primitiv verilənlər tipləri və dəyişənlər. Java ədədləri, mətni və true/false dəyərlərini necə saxlayır və niyə 7 / 2 ifadəsinin nəticəsi 3 olur.

    Dərs 02: ön baxış
    int age = 25;
    double price = 9.99;
    boolean isJavaFun = true;
    char grade = 'A';
    String name = "Java";