Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Merhaba Değerli Ziyaretçimiz, ForumaGel ailesi seni bekliyor! 🌟 Aramıza katılarak güçlü ve samimi topluluğumuzun bir parçası olabilirsin. Burada her üye değerli, her katkı kıymetli. Şimdi üye ol, bizimle birlikte gelişmenin ve keyifli sohbetlerin tadını çıkar! Sevgi ve Saygılarla, ForumaGel Yönetimi ❤️
Yan Yana Banner
Yan Yana Banner
Katılım
7 Nis 2025
Konular
367
Mesajlar
780
Çözümler
1
Tepkime puanı
121
Puan
93
Konum
İstanbul
Web sitesi
forumagel.com
Hazır Kod Bankası - Konu 16: Java Temelleri



Hazır Kod Bankası Serimizin On Altıncı Konusu: Java!

Merhaba arkadaşlar! Serimizde HTML, CSS, JavaScript ile web ön yüzünü; PHP, Veritabanları ve Python ile web arka yüzünü ve genel betik yazımını; VBA ve VB.NET ile masaüstü otomasyonunu; Git ile versiyon kontrolünü; ve temel Veri Yapıları/Algoritmalar ile OOP prensiplerini gördük. Şimdi programlama yolculuğumuzda yeni ve önemli bir durağa geliyoruz: Java.

Java, Sun Microsystems (şu an Oracle'a ait) tarafından geliştirilmiş, derlenen (compiled), nesne tabanlı (object-oriented)) ve statik olarak tiplendirilmiş (statically-typed) yüksek seviyeli bir programlama dilidir. "Write Once, Run Anywhere" (Bir Kere Yaz, Her Yerde Çalıştır) felsefesiyle tasarlanmıştır. Bunun anlamı, yazdığınız Java kodunu (doğrudan işletim sisteminde değil) Java Sanal Makinesi (JVM - Java Virtual Machine) üzerinde çalışması sayesinde, herhangi bir işletim sisteminde (Windows, macOS, Linux) değişiklik yapmadan çalıştırabilmenizdir.

Python, PHP veya JavaScript gibi dinamik dillerin aksine, Java'da her değişkenin tipini (tam sayı, metin, ondalıklı sayı vb.) belirtmeniz zorunludur (`int sayi;`, `String ad;` gibi). Bu, hataların genellikle kod yazım aşamasında veya derleme sırasında yakalanmasına yardımcı olur. Java, özellikle kurumsal uygulamalarda, büyük ölçekli sistemlerde, Android mobil geliştirmede ve web sunucu tarafında (backend) çok yaygın kullanılır. Sözdizimi (syntax) C++, C# gibi dillere benzerlik gösterir.

Bu konuda Java'nın temel yapısını, değişkenleri, veri tiplerini, çıktı almayı, temel kontrol akışlarını ve metot tanımlamayı göreceğiz.

1. Java Nedir? Neden Yaygın? JVM, JRE, JDK Nedir?

  • Platform Bağımsızlığı (WORA): Java kodunuz .class uzantılı bytecode'a derlenir ve bu bytecode JVM olan her yerde çalışabilir.
  • Nesne Tabanlı: OOP prensipleri üzerine kurulmuştur.
  • Statik Tiplendirme: Değişken tipleri derleme zamanında kontrol edilir, bu da runtime hatalarını azaltır.
  • Güvenlikli ve Sağlam: Bazı potansiyel hataları derleme zamanında yakalar.
  • Çoklu İş Parçacığı Desteği (Multithreading): Aynı anda birden fazla iş yapma yeteneği.
  • Yaygın Kullanım: Kurumsal yazılımlar, Android uygulamaları, web uygulamaları, büyük veri teknolojileri vb.
Java Ortamı Bileşenleri:
  • JDK (Java Development Kit): Java uygulamaları geliştirmek için gereken tüm araçları içerir (derleyici `javac`, JVM, kütüphaneler vb.). Java yazmak için JDK'yı kurmalısınız.
  • JRE (Java Runtime Environment): Derlenmiş Java kodunu (bytecode) çalıştırmak için gerekenleri içerir (JVM ve temel kütüphaneler). Java uygulamalarını çalıştırmak için JRE yeterlidir.
  • JVM (Java Virtual Machine): Java bytecode'unu yorumlayıp çalıştırmaktan sorumlu sanal makinedir. Java'nın platform bağımsızlığını sağlar.
Java yazmaya başlamak için öncelikle sisteminize JDK'yı kurmanız gerekir. Oracle'ın sitesinden veya OpenJDK gibi alternatif kaynaklardan indirebilirsiniz. Kod yazmak için Eclipse, IntelliJ IDEA Community Edition, NetBeans veya VS Code gibi bir IDE kullanmanız işinizi çok kolaylaştıracaktır.

2. İlk Java Programı Yapısı ve Temel Sözdizimi

En basit Java programı bile belirli bir yapıya uymalıdır: Bir sınıf ve bu sınıf içinde kodun çalışmaya başlayacağı özel bir metot (`main`).

Java:
// Dosya adı: IlkProgramim.java olmalı
public class IlkProgramim { // Sınıf tanımı başlar

    // Ana Metot - Programın çalışmaya başladığı yer
    public static void main(String[] args) {
        // Kodlarımız buraya yazılır

        System.out.println("Merhaba, Java Dünyası!"); // Konsola çıktı verme komutu

    } // Ana metot biter

} // Sınıf tanımı biter
Açıklama:
  • `public class IlkProgramim { ... }`: Her Java kodu en az bir sınıftan oluşur. `public` erişim belirtecidir. Sınıf adı (IlkProgramim) dosya adıyla (`IlkProgramim.java`) aynı olmalıdır.
  • `public static void main(String[] args) { ... }`: Bu metot, Java programının çalışmaya başladığı giriş noktasıdır. `public static void` standarttır (şimdilik ezberleyebilirsiniz). `String[] args` program başlatılırken dışarıdan alınan komut satırı argümanlarıdır.
  • `System.out.println("...");`: Konsola metin yazdırmak için kullanılır.
Sözdizimi Kuralları:
  • Her komutun sonuna noktalı virgül (;) konulmalıdır.
  • Kod blokları (metot içleri, if/döngü gövdeleri) süslü parantezler `{}` içine yazılır.
  • Yorum satırları için `//` (tek satır) veya `/* ... */` (çok satır) kullanılır.
  • Java büyük/küçük harf duyarlıdır (`sayi` ile `Sayi` farklıdır).

3. Değişkenler ve Veri Tipleri (Statik Tiplendirme!)

Java'da değişken tanımlarken tipini belirtmek zorunludur.

Java:
// Değişken tanımlama ve değer atama (tip belirtilir!)
int yas = 30;             // Tam Sayı (Integer)
double boy = 1.75;        // Ondalıklı Sayı (Double)
char ilkHarf = 'J';       // Tek Karakter (Char - tek tırnak)
boolean aktifMi = true;   // Mantıksal (Boolean - true veya false)
String ad = "Ahmet";      // Metin (String - çift tırnak)

// Tanımladıktan sonra tipini değiştiremezsiniz!
// yas = "otuz"; // Hata verir! int bir değişkene String atayamazsınız.

// Değişkenlerin değerlerini yazdırma
System.out.println("Ad: " + ad); // Metinleri birleştirmek için '+' kullanılır
System.out.println("Yaş: " + yas + ", Boy: " + boy);
Açıklama: `int`, `double`, `char`, `boolean` gibi tipler "ilkel tipler" (primitive types) olarak adlandırılır. `String` ise bir sınıftır, yani "referans tip"tir. Java'da her şey bir sınıftır (OOP prensibi), ilkel tipler performans için istisnadır.

4. Temel Kontrol Akışları (if/else, for, while)

Java'da kontrol akış yapıları diğer C tabanlı dillere (C++, C#, JavaScript, PHP) benzer sözdizimi kullanır ve kod blokları `{}` içine alınır.

  • if / else: Koşullu dallanma.
    Java:
        int notu = 85;
    
        if (notu >= 50) { // Koşul parantez içine alınır
            System.out.println("Dersten Geçti."); // Kod bloğu süslü parantez içinde
        } else {
            System.out.println("Dersten Kaldı.");
        }
    
        // elif yerine else if kullanılır
        if (notu >= 90) {
            System.out.println("Notunuz: A");
        } else if (notu >= 80) { // else if ile yeni bir koşul
            System.out.println("Notunuz: B");
        } else {
            System.out.println("Notunuz: C veya daha düşük");
        }
  • for Döngüsü: Belirli sayıda veya bir dizi üzerinde dönme.
    Java:
        // 0'dan 4'e kadar (5 dahil değil) sayıları yazdır
        for (int i = 0; i < 5; i++) { // Başlangıç, koşul, adım
            System.out.println("Sayaç: " + i); // Döngü gövdesi süslü parantez içinde
        }
    
        // Diziler (Arrays) veya koleksiyonlar üzerinde dönmek için farklı for biçimleri de vardır (ileri konu).
  • while Döngüsü: Belirli bir koşul doğru olduğu sürece tekrarlama.
    Java:
        int sayac = 0;
        while (sayac < 3) { // Koşul parantez içinde
            System.out.println("While Sayacı: " + sayac); // Döngü gövdesi süslü parantez içinde
            sayac++; // sayac = sayac + 1; veya sayac += 1;
        }

5. Metotlar (Methods)

Java'da fonksiyonlara "metot" denir ve her metot bir sınıf içinde tanımlanır. Basit programlarda, `main` metodu gibi, `static` olarak tanımlanan metotları kullanabiliriz.

Java:
public class MetotOrnegi {

    // Ana Metot
    public static void main(String[] args) {
        // Statik metodu çağırma
        selamVer("Java");

        // Değer döndüren statik metodu çağırma
        int toplam = topla(10, 20);
        System.out.println("Toplam Sonuç: " + toplam);
    }

    // Geriye değer döndürmeyen (void) ve parametre alan statik metot
    public static void selamVer(String isim) {
        System.out.println("Merhaba, " + isim + "!");
    }

    // Geriye int tipinde değer döndüren ve iki int parametre alan statik metot
    public static int topla(int sayi1, int sayi2) {
        int sonuc = sayi1 + sayi2;
        return sonuc; // Sonucu geri döndür
    }

}
Açıklama: Metot tanımlarken `public static` (şimdilik standart başlangıç için), geri dönüş tipi (`void` eğer değer döndürmüyorsa, `int` eğer int döndürüyorsa vb.), metot adı ve parantez içinde parametrelerin tipleri ve adları belirtilir (`String isim`, `int sayi1`).

6. Tam Bir Java Programı Örneği

Aşağıdaki kodu bir ".java" dosyasına kaydedip (dosya adı sınıf adıyla aynı olmalı!), derleyip çalıştırarak öğrendiğimiz temelleri bir arada görebilirsiniz:

Java:
// Dosya adı: BasitJavaOrnek.java
public class BasitJavaOrnek {

    public static void main(String[] args) {

        // Değişken tanımlama ve kullanma
        String urunAdi = "Laptop";
        double fiyat = 12500.75;
        int stok = 10;
        boolean indirimdeMi = true;

        System.out.println("Ürün Bilgileri:");
        System.out.println("Ad: " + urunAdi);
        System.out.println("Fiyat: " + fiyat + " TL");

        // Koşullu kontrol (if/else)
        if (stok > 0) {
            System.out.println("Stok Durumu: Mevcut");
            if (indirimdeMi) { // İç içe if
                System.out.println("Bu ürün indirimde!");
            }
        } else {
            System.out.println("Stok Durumu: Tükenmiş");
        }

        // Döngü örneği (for)
        System.out.println("\nStok Adedi Kadar Sayma:");
        for (int i = 1; i <= stok; i++) {
            System.out.println("Sayaç: " + i);
        }

        // Bir metodu çağırma
        selamYaz("Ziyaretçi");
    }

    // Ayrı bir statik metot
    public static void selamYaz(String isim) {
        System.out.println("\n" + isim + ", Java örneği bitti!");
    }

}
Bu kodu "BasitJavaOrnek.java" olarak kaydedin. Komut satırını açıp dosyanın olduğu klasöre gidin.
  1. Derleme: `javac BasitJavaOrnek.java` komutunu çalıştırın. Hata yoksa "BasitJavaOrnek.class" adında bir dosya oluşacaktır.
  2. Çalıştırma: `java BasitJavaOrnek` komutunu çalıştırın. Programın çıktısını göreceksiniz.
IDE kullanıyorsanız (Eclipse, IntelliJ, VS Code), genellikle "Run" butonuna tıklamak hem derleme hem çalıştırma işlemini otomatik yapar.

Sıra Sizde!

Bilgisayarınıza JDK'yı kurdunuz mu? Bir IDE kurup çalıştırmayı denediniz mi? Yukarıdaki temel Java programını yazıp, derleyip çalıştırabildiniz mi? Farklı veri tipleriyle değişkenler tanımlayıp kullanmayı denediniz mi? if/else ve for döngüsü örneklerini kendi kodlarınızda denediniz mi?

Java'nın statik tiplendirmesi, sözdizimi (noktalı virgül, süslü parantez), `main` metot yapısı veya JDK/JRE/JVM kavramları hakkında aklınıza takılan soruları bu konu altında sorabilirsiniz.

Serinin Geleceği?[/B]

Java gibi güçlü ve yaygın bir dile giriş yaptık. Java'nın kendisi devasa bir ekosistemdir (Java SE, Java EE, Spring Framework, Android SDK vb.).

Seriyi buradan sonra nasıl devam ettirelim?

  • Java'da Nesne Tabanlı Programlama (OOP) temelleri (Sınıflar, Nesneler, Metotlar, özellikler - Python'da gördüğümüz kavramların Java'daki karşılığı)?
  • Java'da daha ileri temel konular (Diziler, String işlemleri, giriş/çıkış - Scanner sınıfı vb.)?
  • Temel Veri Yapıları ve Algoritmalarda daha ileri konular?
  • Diğer programlama dillerine giriş (C#, C++ gibi)?
  • Web geliştirme Frameworklerine giriş (Java Spring/Spring Boot, Python Flask/Django, JS React/Vue/Angular, PHP Laravel/Symfony)?
  • Mobil geliştirme temelleri (Android Studio ile)?
  • Belirli bir proje türüne odaklanma (Örn: Basit konsol uygulaması yapımı)?
  • Veya başka önerileriniz mi var?
Geri bildirimleriniz ve önerileriniz serinin geleceğini şekillendirecektir.

Umarım bu konu Java'ya ilk adımınızı atmanızda faydalı olmuştur. Görüşmek üzere!


Bu konu, "Hazır Kod Bankası" serisinin on altıncı parçasıdır ve "Yazılım Bilgi ve Yeni Başlayanlar İçin" kategorisi altında paylaşılmıştır.
 

Şu an konuyu görüntüleyenler

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

Zevkini yansıtan rengi seç

Geniş / Dar görünüm

Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

Izgara görünümlü forum listesi

Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

Resimli ızgara modu

Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

Kenar çubuğunu kapat

Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

Sabit kenar çubuğu

Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

Köşe kıvrımlarını kapat

Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

Geri