Skip to content

Latest commit

 

History

History
160 lines (95 loc) · 4.24 KB

File metadata and controls

160 lines (95 loc) · 4.24 KB

🚀 Java'da Algoritmalar ve Projeler

Comprehensive Java Portfolio

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.


📂 Depo Yapısı ve Müfredat

Repo, öğrenme eğrisine uygun olacak şekilde üç ana bölümde organize edilmiştir:


1️⃣ Programlama Temelleri

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

2️⃣ Nesne Tabanlı Programlama (OOP)

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

3️⃣ Projeler

Temel ve ileri seviye konuların birleştirildiği, uçtan uca geliştirilmiş kapsamlı uygulamalar yer alır.


🛠️ Kapsamlı Uygulamalar ve Vaka Analizleri

📚 Modern Kütüphane Yönetim Sistemi (GUI)

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.time API 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

💣 BomBom (Recursive Grid Logic)

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 .txt dosyalarından dinamik olarak yüklenir
  • BufferedReader ile dosya okuma işlemleri

🛡️ Hata Denetimi

  • Matris sınır taşmaları (Boundary Checking)
  • Özyineleme derinliği kontrolü
  • Sonsuz döngü risklerinin önlenmesi

🎯 Teknik Yetkinlikler

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


🚀 Çalıştırma Talimatları

  1. Repoyu yerel makinenize klonlayın:

    git clone https://github.com/BeratErol/java-algorithms-and-projects.git
  2. İlgili projenin klasörüne girin.

  3. .java dosyaları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.