Cohorts
  • Discover
  • About Us
  • Blog
  • Patika.dev
  • Web3

Java101

Eğitime Genel Bakış ve Öneriler
Temel Kavramlar
Java Nedir
Java Geliştirme Araçlarının Kurulumu

Java'da Yazım ve İsimlendirme Kuralları
Main Metodu ve Kullanımı
Programlamaya Başlangıç
Yorum Satırları

Değişkenler ve Veri Tipler
Byte, Short, Int ve Long Veri Tipleri
Float ve Double Veri Tipleri
Char ve Boolean Veri Tipleri
String Veri Tipi
Temel Operatörler
Kullanıcıdan Veri Alma
Pratik - Not Ortalaması Hesaplayan Program
Pratik - KDV Tutarı Hesaplayan Program
Pratik - Dik Üçgende Hipotenüs Bulan Program
Pratik - Taksimetre Hesaplayan Program
Pratik - Dairenin Alanını ve Çevresini Bulan Program
Ödev - Vücut Kitle İndeksi Hesaplayan Program
Ödev - Manav Kasa Programı

Karşılaştırma Operatörleri
Mantıksal Operatörler
Kod Blokları (Scope)
If ve Else Blokları
Switch-Case Yapısı
Pratik - Hesap Makinesi
Pratik - Kullanıcı Girişi
Pratik - Sınıfı Geçme Durumu
Pratik - Hava Sıcaklığına Göre Etkinlik Önerme
Pratik - Sayıları Büyükten Küçüğe Sıralama
Pratik - Burç Bulan Program
Ödev - Uçak Bileti Fiyatı Hesaplama
Ödev - Çin Zodyağı Hesaplama
Ödev - Artık Yıl Hesaplama

Döngü Yapıları
While Döngüsü
Do-While Döngüsü
For Döngüsü
For ve While Arasındaki Farklar
Continue ve Break Komutları
Pratik - Girilen Sayıya Kadar Olan Çift Sayıları Bulan Program
Pratik - Tek Sayıların Toplamını Program
Pratik - Girilen Sayıdan Küçük 2’nin Kuvvetlerini Bulan Program
Pratik - Faktöriyel Hesaplayan Program
Pratik - Üslü Sayı Hesaplayan Program
Pratik - Armstrong Sayıları Bulan Program
Pratik - Harmonik Sayıları Bulan Program
Pratik - Yıldızlar ile Üçgen Yapımı
Pratik - ATM Projesi
Pratik - EBOB-EKOK Bulan Program
Ödev - Girilen Sayılardan Min ve Max Değerleri Bulma
Ödev - Mükemmel Sayı Bulan Program
Ödev - Ters Üçgen Yapımı
Ödev - 1-100 Arasındaki Asal Sayıları Bulan Program
Ödev - Fibonacci Serisi

Metot Tanımı
Return ve Void Tanımı
Metotlarda Overloading (Aşırı Yüklenme)
Metotlarda Local Değişken Yapıları
Recursive (Özyineli) Metotlar
Pratik - Palindrom Sayılar
Pratik - Recursive ile Fibonacci Serisi Bulan Program
Pratik - Gelişmiş Hesap Makinesi
Ödev - Üs Hesabı Yapan Program
Ödev - Asal Sayı Bulan Program
Ödev - Desene Göre Metot Oluşturma

Sınıf ve Nesne Kavramları
Nesne Yönelik Programlama Nedir ?
Modelleme ve Soyut Düşünme

Sınıf Tanımları
Nesne Oluşturma ve Sınıf Metotları
Constructor (Yapıcı) Metot Kullanımı
Pratik - Öğrenci Bilgi Sistemi
Pratik - Boks Oyunu
Ödev - Maaş Hesaplayıcı

Dizilerin Genel Mantıkları
Tek Boyutlu Diziler
Çok Boyutlu Diziler
ForEach Kullanımı
Arrays Sınıfı ve Metotları
Pratik - Dizideki Elemanların Ortalamasını Bulan Program
Pratik - Dizideki Maksimum ve Minimum Değerleri Bulan Program
Pratik - Çok Boyutlu Diziler ile A Harfi Yazdıran Program
Pratik - Dizideki Tekrar Eden Sayıları Bulan Program
Ödev - Dizideki Elemanları Sıralama
Ödev - Dizideki Elemanların Frekansı
Ödev - Matris Transpozunu Bulma

Math Sınıfı ve Metotları
String Sınıfı ve Metotları
Pratik - Sayı Tahmin Oyunu
Pratik - Palindromik Kelimleri Bulan Program

Mayın Tarlası Oyunu

Boks Maçı

Java Sınıflar ile boks maçını simüle eden programı yazıyoruz.

Ödev

Projeye ilk kimin dövüşe başlayacağını %50 olasılık ile hesaplayan sistemi entegre ediniz.

public class Fighter {
    String name;
    int damage;
    int health;
    int weight;
    double dodge;

    public Fighter(String name, int damage, int health, int weight, double dodge) {
        this.name = name;
        this.damage = damage;
        this.health = health;
        this.weight = weight;
        this.dodge = dodge;
    }

    public int hit(Fighter foe) {
        System.out.println("------------");
        System.out.println(this.name + " => " + foe.name + " " +  this.damage + " hasar vurdu.");

        if (foe.dodge()) {
            System.out.println(foe.name + " gelen hasarı savurdu.");
            return foe.health;
        }

        if (foe.health - this.damage < 0)
            return 0;

        return foe.health - this.damage;
    }

    public boolean dodge() {
        double randomValue = Math.random() * 100;  //0.0 to 99.9
        return randomValue <= this.dodge;
    }
}


public class Ring {
    Fighter f1;
    Fighter f2;
    int minWeight;
    int maxWeight;

    public Ring(Fighter f1, Fighter f2, int minWeight, int maxWeight) {
        this.f1 = f1;
        this.f2 = f2;
        this.minWeight = minWeight;
        this.maxWeight = maxWeight;
    }

    public void run() {

        if (checkWeight()) {
            while (f1.health > 0 && f2.health > 0) {
                System.out.println("======== YENİ ROUND ===========");
                f2.health = f1.hit(f2);
                if (isWin()){
                    break;
                }
                f1.health = f2.hit(f1);
                if (isWin()){
                    break;
                }
                printScore();
            }

        } else {
            System.out.println("Sporcuların ağırlıkları uyuşmuyor.");
        }


    }

    public boolean checkWeight() {
        return (f1.weight >= minWeight && f1.weight <= maxWeight) && (f2.weight >= minWeight && f2.weight <= maxWeight);
    }

    public boolean isWin() {
        if (f1.health == 0) {
            System.out.println("Maçı Kazanan : " + f2.name);
            return true;
        } else if (f2.health == 0){
            System.out.println("Maçı Kazanan : " + f2.name);
            return true;
        }

        return false;
    }


    public void printScore() {
        System.out.println("------------");
        System.out.println(f1.name + " Kalan Can \t:" + f1.health);
        System.out.println(f2.name + " Kalan Can \t:" + f2.health);
    }
}




public class Main {
    public static void main(String[] args) {
      Fighter marc = new Fighter("Marc" , 15 , 100, 90, 0);
      Fighter alex = new Fighter("Alex" , 10 , 95, 100, 0);
      Ring r = new Ring(marc,alex , 90 , 100);
      r.run();
    }
}

Ödev

Submit your work to complete this lesson.

Join the project workspace to share your solution and receive feedback.

Previous
Next

Lesson discussion

Swap insights and ask questions about “Java101”.

Enroll to participate
Start the course to unlock the discussion. Enrolling helps us keep conversations relevant to learners.
Cohorts
WebsiteDiscoverBlogPatika.devRise In
CoursesCircleRustSoliditySolanaWeb3 FundamentalsBlockchain Basics
CompanyAbout UsTerms of UsePrivacy PolicyGDPR NoticeCookies
Don't miss any update!

Disclaimer: The information, programs, and events provided on https://cohorts.patika.dev is strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice, nor do we make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://cohorts.patika.dev disclaims any responsibility for financial decisions made by users based on the information provided here.

© 2026 Cohorts, All rights reserved