Bu depo, Java programlama dilinde temel sözdizimi (syntax) kurallarından başlayarak, ileri seviye Nesne Tabanlı Programlama (OOP) prensiplerine ve kapsamlı masaüstü uygulamalarına kadar uzanan geniş bir yelpazeyi kapsar.
Her bir çalışma;
- Algoritmik düşünme becerisini geliştirmek,
- Yazılım mimarisi oluşturma yetkinliği kazanmak,
- Gerçek dünya problemlerini kod ile modellemek
amacıyla yapılandırılmıştır.
Repo, öğrenme eğrisine uygun olacak şekilde üç ana bölümde organize edilmiştir:
Java’nın çekirdek özelliklerini ve temel algoritma mantığını kapsayan 120+ uygulama içerir.
📌 İçerik
- Değişkenler ve veri tipleri
- Döngüler (
for,while,do-while) - Diziler (1D & 2D)
- Metin işlemleri (
String,StringBuilder) - Bellek yönetimi (Stack / Heap farkı)
🎯 Odak
- Temiz ve okunabilir kod yazımı
- Doğru veri tipi seçimi
- Performanslı döngü ve kontrol yapıları kurma
Yazılımın sürdürülebilir, genişletilebilir ve modüler olmasını sağlayan OOP prensiplerine odaklanır.
📌 İçerik
- Kalıtım (Inheritance)
- Çok Biçimlilik (Polymorphism)
- Soyutlama (Abstraction)
- Kapsülleme (Encapsulation)
🎯 Odak
- Gerçek dünya problemlerini nesne modellerine dönüştürme
- Hata yönetimi (Exception Handling)
- Sorumlulukları doğru sınıflara dağıtma
Temel ve ileri seviye konuların birleştirildiği, uçtan uca geliştirilmiş kapsamlı uygulamalar yer alır.
Java Swing kütüphanesi ile geliştirilmiş, tam işlevli bir masaüstü otomasyon sistemidir.
🏗️ Mimari
- MVC (Model–View–Controller) yaklaşımına yakın yapı
- İş mantığı:
LibraryManager - Sunum katmanı:
ModernLibraryGUI
⚙️ Fonksiyonlar
java.timeAPI ile 14 günlük ödünç süresi takibi- Dinamik arama ve filtreleme
- Kategori bazlı istatistik ve raporlama
🧩 Teknik Detaylar
- Koleksiyonlar:
ArrayList,HashMap - Olay tabanlı programlama (Event Handling)
- JTable ile veri görselleştirme
Matris işlemleri ve özyinelemeli (recursive) algoritmalar üzerine kurulu bir strateji oyunudur.
🧠 Çözüm Yaklaşımı
- Kullanıcının seçtiği koordinatın çevresi
- Recursive fonksiyon ile zincirleme hücre taraması
- Aynı değere sahip komşu hücrelerin tespiti
📂 Veri Yönetimi
- Oyun haritası, harici
.txtdosyalarından dinamik olarak yüklenir BufferedReaderile dosya okuma işlemleri
🛡️ Hata Denetimi
- Matris sınır taşmaları (Boundary Checking)
- Özyineleme derinliği kontrolü
- Sonsuz döngü risklerinin önlenmesi
Bu projelerin geliştirilmesi sürecinde aşağıdaki alanlarda uzmanlık hedeflenmiştir:
-
Algoritma Tasarımı
Karmaşık problemleri alt problemlere bölme ve recursive çözümleme
-
Dosya I/O
Metin dosyalarından veri okuma ve verileri matris yapılarına dönüştürme
-
Kullanıcı Deneyimi (UX)
Masaüstü uygulamalarında kullanıcı dostu arayüzler ve etkili hata geri bildirimleri
-
Akademik Raporlama
Geliştirme sürecini, karşılaşılan problemleri ve çözüm yaklaşımlarını dokümante etme
-
Repoyu yerel makinenize klonlayın:
git clone https://github.com/BeratErol/java-algorithms-and-projects.git
-
İlgili projenin klasörüne girin.
-
.javadosyalarını derleyip çalıştırın.🔧 Önerilen IDE’ler: IntelliJ IDEA, Eclipse 🎨 GUI projeleri için IDE kullanımı özellikle tavsiye edilir.
📌 Not: Bu repo; akademik çalışmalar, portföy sunumu ve ileri seviye Java pratiği amacıyla hazırlanmıştır. Algoritmadan mimariye kadar geniş bir yelpazede gerçek dünya odaklı Java uygulamaları sunar.