Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Language

Türkçe Java öğrenme notları ve tek dosyalık çalıştırılabilir örnekler: temel sözdiziminden record, lambda ifadeleri ve JPMS modüllerine kadar 29 konu. Her konu kendi klasöründe, yorumlanmış bir Main.java ve (bazı konularda) detaylı not Markdown'ı ile birlikte durur.

Compile all examples License: MIT JDK Java files

Neden bu repo?

  • Çalıştırılabilir notlar: her konu kopyala-yapıştır değil, derlenip çalışan tek bir Main.java.
  • Yorumlanmış kod: örnek satırlarının yanında ne yaptığı ve neden öyle olduğu Türkçe açıklanır.
  • Sıralı müfredat: 8'den 37'ye kadar numaralandırılmış klasörler, klasik kaynak sırasını izler.
  • Sıfır bağımlılık: JDK dışında hiçbir şey gerekmez — Maven, Gradle, JAR yok.
  • CI doğrulaması: her push'ta 29 dosyanın tamamı JDK 17 ve 21 ile yeniden derlenir.

İçindekiler

🧱 Temeller (Fundamentals)

# Konu Ne anlatıyor Kod
8 Java Sözdizimi Söz dizimi, dosya yapısı, temel unsurlar Main.java · not
9 Değişkenler Değişken tanımlama, kapsam (scope) Main.java
10 Veri Tipleri İlkel ve nesne tipleri, boxing Main.java
11 Matematik İşlemleri Aritmetik operatörler, Math Main.java
12 Diziler Tek/çok boyutlu diziler Main.java
13 String String API'si, immutable yapı Main.java

🔀 Kontrol Akışı (Control Flow)

# Konu Ne anlatıyor Kod
15 if Deyimleri Koşullu dallanma Main.java
16 Ternary Operatörü ? : ile kısa koşul Main.java
17 switch Deyimleri Klasik switch Main.java
18 instanceof Operatörü Tip kontrolü Main.java
19 for Döngüleri Klasik ve for-each döngüler Main.java
20 while Döngüleri while / do-while Main.java

🏛️ Nesne Yönelimli Programlama (OOP)

# Konu Ne anlatıyor Kod
21 Sınıflar Sınıf bildirimi, nesne oluşturma Main.java
22 Alanlar (Fields) Instance/static alanlar Main.java
23 Metotlar Parametreler, dönüş tipleri, overloading Main.java
24 Yapıcılar Constructor zincirleme Main.java
25 Paketler Paket yapısı ve isimlendirme Main.java · not
26 Erişim Belirleyicileri public / protected / private Main.java · not
27 Kalıtım extends, super, override Main.java
28 İç İçe Sınıflar static / inner sınıflar Main.java
29 Soyut Sınıflar abstract sınıf ve metotlar Main.java
31 Arayüzler (Interfaces) default/static metotlar Main.java
32 Interface vs Abstract Class İkisinin karşılaştırması Main.java · not
33 Enum Sabitler, alanlı/metotlu enum Main.java

✨ Modern Java

# Konu Ne anlatıyor Kod
30 Record Immutable veri taşıyıcıları Main.java
34 Anotasyonlar Kendi anotasyonunu yazmak (tek dosya: MyClass.java) MyClass.java
35 Lambda İfadeleri Fonksiyonel arayüzler, lambda Main.java
36 Modüller (JPMS) module-info, kapsülleme Main.java · not
37 Scoped Assignment & Scoped Access Kapsamlı erişim Main.java

Kurulum ve çalıştırma

Tek gereksinim: JDK 17+ (Adoptium önerilir). Maven/Gradle/IDE zorunlu değil.

git clone https://github.com/emrelab/java-language.git
cd java-language

# Tek bir konuyu derle ve çalıştır
javac -d out "Java Language/30-Record/src/Main.java"
java -cp out Main

# Tüm örneklerin derlendiğini doğrula (CI'ın çalıştırdığı betiğin aynısı)
./scripts/compile-all.sh

Windows (PowerShell)

javac -d out "Java Language/30-Record/src/Main.java"
java -cp out Main

IDE ile çalışacaksanız: klasörü açın, ilgili src klasörünü kaynak kökü (source root) yapın ve Main.java dosyasını çalıştırın. Her örnek bağımsızdır, tek başına derlenir.

Konu listesi (düz dosya yolu)

Java Language/<konu no>-<konu adı>/src/Main.java

Numaralandırma klasik Java kaynak sırasını izler; listede olmayan numaralar (14 gibi) henüz eklenmemiş konulardır.

CI

.github/workflows/build.yml her push ve pull request'te scripts/compile-all.sh betiğini ubuntu-latest üzerinde JDK 17 ve JDK 21 matrisiyle çalıştırır: 29 dosyanın tamamı javac ile derlenir ve sayı doğrulanır. Yeşil rozet = tüm örnekler derleniyor.

Kaynak ve lisans

Notlar ve örnekler, Jakob Jenkov'un Java Language bölümünden yararlanılarak Türkçe olarak hazırlanmıştır. Kod ve notlar MIT lisanslıdır — bkz. LICENSE.


Summary (English)

Turkish study notes and 29 self-contained, compilable Main.java examples covering the Java language from syntax and variables to OOP, records, lambdas, annotations and JPMS modules, based on Jakob Jenkov's Java Language tutorial. No dependencies beyond a JDK 17+: compile a single file with javac and run it, or verify every example via ./scripts/compile-all.sh (the same script CI runs on JDK 17 and 21). MIT licensed.

About

Türkçe Java öğrenme notları + 29 çalıştırılabilir örnek: sözdiziminden record, lambda ve JPMS modüllerine. | Turkish Java notes & 29 runnable single-file examples, verified by CI on JDK 17/21.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages