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

Dizilerin Genel Mantıkları

Java'da Diziler (Arrays) , her değer için ayrı değişkenler oluşturmak yerine, birden çok değeri tek bir değişkende depolamak için kullanılır. Değişkenler hafızada tek bir değer tutmamızı sağlar. Fakat bazı durumlarda, birden çok veriyi bir arada bulundurmak isteriz. Örneğin, bir sınıfta okuyan 20 öğrenci olsun. Bu 20 öğrenci için hafızada ayrı ayrı 20 tane değişken oluşturmak yerine, tek bir değişken kullanarak 20 öğrencinin koleksiyonunu tutmak isteyebiliriz.

Bu gibi durumlarda dizileri kullanırız. Dizi, aynı türden birden fazla değişkeni tutmamızı sağlayan hafıza birimidir. Kısaca, dizileri aynı türden elemanları gruplamak için kullanırız. Dizi oluşturduktan sonra dizinin içerisindeki elemanlara indeks numarasıyla ulaşır ve değiştiririz. Ayrıca, çok boyutlu diziler oluşturmak da mümkündür. Tek boyutlu dizi kullanabileceğimiz gibi 2 veya 3 boyutlu diziler de oluşturabiliriz. 2 boyutlu dizilere matris denir.

Dizi (Array) kavramı programlama dillerinde bir veri tipini ifade eder. Bu veri tipi liste halindeki ardışık verileri bir arada tutan yapıya denilir. Bu ardışık yapıya ait elemanlara indis yoluyla erişim sağlanabilir. Diziler sabit boyutludur ve tanımlanırken boyutları belirtilir.

Yukarıdaki örnek 10 eleman boyutunda "Integer" veri tipi tutan bir dizidir. Dizilerdeki herhangi bir elemana ulaşmak için indis numaraları kullanılır. Dizi indisleri her zaman 0'dan başlar o yüzden dizinin son elemanının değeri, dizi boyutuna eşit değildir ve bu dikkat edilmesi gereken bir konudur.

Dizinin hafızada bir başlangıç adresi olur ve ardışık olan diğer elemanlar sırayla hafızaya yerleştirilir. Diziler "new" anahtar sözcüğüyle oluşturulur. Böylece, Heap Hafıza bölgesinde yer kaplarlar.

double[] myList;   // tercih edilen yol

veya 

double myList[];   // başka türlü tanımlama biçimi

Diziler veri tipi ve [] parantezler ile belirtilir. Yukarıda iki farklı tanımı görülmektedir. Hafızadan yer alıp diziye alan ayırabilmek için "new" anahtar kelimesi kullanılır.

double[] myList = new double[10];

Yukarıda maksimum 10 eleman alabilen "double" veri tipinde olan bir dizi oluşturulmuştur.

Yukarıda "myList" isminde bir dizi tanımlamıştık. Tanımlanan dizi hafıza yukarıdaki şekildeki gibi tutulur. "myList" değişkeni dizinin başlangıç adresini tutar. Dizilerde ardışık bir sıra olduğu için ilk elemandan sonra gelen elemanların hafıza adresleri de birer birer artar. Dizi blok halinde yer kaplar. Diziye erişmek için indeks numarası kullanılır. Örneğin: "myList[0]" demek dizinin 1. Elemanını verecektir. Java'da dizilerin indeksleri sıfırdan başlar. Örneğin: "myList[5]", yani 5 nolu indeksteki dizi elemanını ver dediğimizde aslında dizinin 6. Elemanına erişmiş oluruz.

Örnekler:

// Java'da diziye ilk değerler süslü parantezler arasında verilir.
double[] myList = { 1.9, 2.9, 3.4, 3.5 };

// tüm dizi elemanlarını arada boşuk bırakarak sırayla ekrana yazdırır.
for (int i = 0; i < myList.length; i++)
{
	System.out.println(myList[i] + " ");
}

Yukarıdaki örnekte myList isimli diziye ilk değerleri hemen verilmiştir. Süslü parantezler arasında kalan değerler dizi elemanlarıdır.

Ardından, bir "for" döngüsü ile dizi elemanları ekrana yazdırılır.

Dizileri Fonksiyonlara Parametre Olarak Göndermek

Tanımladığınız dizileri fonksiyonlara parametre olarak gönderebilirsiniz.

Örneğin elimizde static bir fonksiyon olsun. Bu fonksiyona int tipinde verileri olan bir diziyi girdi (input) olarak vermek istersek aşağıdaki gibi olur.

public static void printArray(int[] array) 
{
   for (int i = 0; i < array.length; i++) 
   {
      System.out.print(array[i] + " ");
   }
}

printArray ( int[] array ) kırmızı olarak işaretlediğimiz yer diziyi yerel değişken olarak fonksiyona gönderdiğimiz noktadır. Java'da tüm değişkenler "Pass by Value" yöntemiyle geçilir. Bu şu demektir. Sizin tanımladığınız değişkenin, nesnenin veya dizinin birebir kopyası oluşturulur. Bu kopya değer fonksiyona yerel değişken olarak gider. Bu Java mülakatlarında size sorulabilecek bir detaydır.

Dizileri Fonksiyonlardan Geri Döndürmek

Fonksiyonlar belli bir işi yapıp sonucunda değer dönebilen veya dönmeyen kod bloklarıdır. Fonksiyonlar için altın kural, her fonksiyonun tek bir işi olmalıdır. Örneğin: dizi ortalaması alma işi yapan bir fonksiyon dizileri ekrana yazdırma işini yapmamalıdır. Veya dizilerin ortalamasını alma işi ile dizileri toplama işlemi aynı fonksiyon içinde olmamalıdır. Her biri ayrı fonksiyonlar olmalıdır.

public static int[] reverse(int[] list) 
{
   int[] result = new int[list.length];

   for (int i = 0, j = result.length - 1; i < list.length; i++, j--) 
   {
      result[j] = list[i];
   }
   
   return result;
}

Yukarıda dizinin tersine çevrilmiş halini döndüren bir fonksiyon vardır. public static int[] reverse(…) koyu renkle işaretlenen alan dizi döndüreceğimizi ve bu dizinin veri tipini söylüyoruz. Burada veri tipimiz "int".

Quiz

Answer the questions to check your understanding.

This lesson includes a short quiz.

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