Java Programlama dili şu anda dünyadaki en popüler programlama dillerinden biri haline gelmiştir. Java SUN bilgisayar şirketince orijinal olarak elektrikli ev araçlarının (mikrodalga fırınları, buzdolapları , televizyonlar, uzaktan kumanda cihazları vs.) birbiriyle haberleşmesini sağlamayı amaçlayan bir proje içerisinde 1991 yılında geliştirilmeye başlandı. Orijinal adı bu dilin tasarımcıları James Gosling, Patrick Naughton, Chis Wartdh, Ed Frank ve Mike Sheridan tarafından Oak olarak konulan programlama dili daha sonra bu isimde başka bir programlama dili olduğu keşfedilince o anda bir kahvehanede kahve içen programlama gurubu tarafından kahve markasından esinlenerek Java olarak değiştirildi. Akıllı elektronik ev araçları pazarı SUN gurubunun tahminlerinden çok daha yavaş bir gelişme gösteriyordu. Bu yüzden Java dili projesi ticari bir geliştirme projesi olarak büyük olasılıkla iptal edilecekti. 1993 Yılında “World Wide Web” büyük bir atılım göstererek bütün dünyaya yayılmaya başladı.

Javanın Dinamik Web sayfaları hazırlamadaki büyük potansiyelini gören SUN şirketi projeyi bu tarafa yönlendirdi ve bu javaya yeni bir canlılık ve yaşama umudu sağladı. Java neredeyse her türdeki ağ uygulamalarının temelini oluşturarak gömülü ve mobil uygulamalar, oyunlar, Web tabanlı içerik ve kurumsal yazılım geliştirme ve dağıtımı için küresel standarttır. Dünya genelinde 9 milyonu aşan geliştiriciyle Java, heyecan verici uygulamaları ve hizmetleri verimli bir şekilde geliştirmenize ve dağıtmanıza olanak tanır.Dizüstü bilgisayarlardan veri depolama merkezlerine, oyun konsollarından bilimsel süper bilgisayarlara, cep telefonlarından Internet’e kadar Java her yerde karşımıza çıkmaktadır. Şirket Masaüstü Bilgisayarlarının %97’sinde Java Bulunmakta ABD’deki Masaüstü Bilgisayarların (veya Bilgisayarların) %89’unda Java Bulunmakta

Dünya Genelinde 9 Milyon Java Geliştiricisi Var
Geliştiricilerin 1 Numaralı Seçimi
1 Numaralı Geliştirme Platformu
3 Milyar Cep Telefonunda Java Bulunuyor
Blu-ray Disk Oynatıcıların Tümünde Java Kullanılıyor
5 Milyar Java Kartı Kullanılmakta
125 milyon TV cihazı Java kullanıyor
En İyi 5 Orijinal Parça Üreticisi Java ME Kullanıyor

Neden Java Programlama Dili?

Başlamadan önce neden java sorusuna verdiğimiz aşağıdaki cevaplar Java programlama dili hakkında genel bir bilgi sahibi olmamızı sağlayacaktır. -Her platformda çalışır; sunucu mimarisinden bağımsızdır. – Otomatik hafıza yöntemine sahiptir. (Garbage Collector)

– Otomatik exception handling mekanizmasına sahiptir.

– Statik veri tipleri kullanılır. Bu kodun Compiler tarafından optimize edilmesini kolaylaştırır, compile işlemi

esnasında hataların ortaya çıkmasını sağlar, IDE bünyesinde auto completion yapılmasını mümkün kılar.

Hangi platform olursa olsun bir int 32 bit uzunluktadır, ön işareti mevcuttur (+ ya da -). Diğer veri tipleri de

standart değerlere sahiptir.

– C’de olduğu gibi makro yazılmasına ve dış header dosyalarnın kullanılmasına izin vermez. Bu programcının

hayatını kolaylaştırır.

– Javadoc, Interface ve implementasyon sınıfı kullanarak gerekli tüm tanımlamaları ve dokümentasyonu kod

içinde ifade etmek mümkündür.

– Birden fazla sınıfın bir alt sınıf tarafından aynı zamanda extend edilmesine izin vermez. C++ bu mümkündür,

ama kalıtımda içinden çıkılmaz sorunlar oluşmasına neden olabilir.

– Operatörlerin yüklenmesine (overloading) izin vermez. Örneğin Java’da a+b işleminde + operatörünün ne

yaptığı bilinir. C++’da durum farklıdır.

– Segmentation Fault ya da Buffer overlow gibi hataların oluşmasına izin vermez. C/C++ dillerinde bu sorunlar

programcının günlük hayatının bir parçasıdır.

– Dynamic linking ile kodu değiştirmek ya da derlemek zorunda kalmadan implementasyon sınıfları

değistirilebilir. Örneğin C/C++ dillerinde bu mümkün değildir. Bu diller static linking mekanizması ile derlenir. –

En ufak bir değişiklik tüm sınıfların yeniden derlenmesini mecburi kılabilir.

– C/C++ dil ailesinden olduğu için kültür şoku geçirmeden Java öğrenmek kolaydır.

– Nesneye yönelik programlamayı destekler.

– Multithreaded uygulamalar geliştirilmesini mümkün kılar.

– Ögrenilmesi çok kolaydır.

– Çok büyük bir eko sisteme sahiptir. Açık kaynaklı projelerin büyük bir kısmı Java tabanlıdır.

– Javacılar açık kaynaklı proje geliştirme kültürüyle yetiştikleri için paylaşımcıdırlar.

Java Deyimleri

Javada kullandığımız temel işlem, karşılaştırma, döngü deyimleri aşağıdaki gibidir.

Java Deyimleri

Bilgisayarımıza Java’yı Kurma

Öncelikle java ile program geliştirmeye başlamak istiyorsanız iki şeye ihtiyacınız olacak;

1-Java JDK (Java Development Kit) : Java ile yazdığımız kodları derleyip çalıştırmak için gerekli kurulumdur.

Paketin içerisinde javac derleyicisi, Java Sanal Makinesi(Java Virtual Machine) ve diğer yardımcı paketler

bulunur.

2-IDE (Integrated Development Envoriment) : Kodlarımızı yazarken bize yardımcı bir geliştirme ortamı

gerekiyor.Yoksa kodlarımızı notepad ile yazıp da çalıştırabiliriz fakat bu kullanışlı bir yöntem değildir. Java ile

uygulama geliştiren kişilerin genel olarak kullandığı programlar Eclipse ve NetBeans’dir. İkiside açık kaynak

kodlu lisans gerektirmeyen programlardır. Biz bu yazımızda daha büyük bir kitle tarafından kabul görmüş olan

Eclipse programının kurulumundan bahsedeceğiz.

Java JDK (Java Development Kit) Kurulumu

Aşağıdaki ekranda kırmızı kutuyla belirtilen Download JDK kısmına tıklıyoruz. Bu ekranda dikkatinizi çektiyse

Download NetBeans yazısınıda görebilirsiniz. Eğer Eclipse kurmak istemiyorum NetBeans kullanacağım

derseniz bu linke tıklamanız yeterli. http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-

138363.html, İndirilen paket kurulumu gayet basit sürekli Next diyerek ideal bir yükleme yapıp kurulumu

tamamlıyoruz.

Java HOME, PATH ve CLASSPATH Ayarları

Java kurulumu tamamlandı eğer Windows işletim sistemi kullanıyorsanız birkaç ayarlamayı

elinizle yapmanız gerekiyor. Bilgisayarım–> Sistem Özellikleri–> Gelişmiş Sistem Özellikleri

Sekmesi–> Ortam Değişkenleri penceresini açıyoruz.

Öncelikle javanın hangi klasör altında çalıştığını gösteren Home Değişkeni eklemeliyiz

.

Java HOME, PATH ve CLASSPATH Ayarları

Ardından Path değişkenini düzenlememiz gerekmektedir. Path dizini önceden oluşturulduğu

için yeni değilde Path Değişkenini bulup Düzenle diyoruz. Son eklenen değerden sonra ; koyup

değişkeni sona ekliyoruz.

Java HOME, PATH ve CLASSPATH Ayarları

Son olarak ClassPath değişkeni ekleyelim.

Eclipse Kurulumu

Arama motoruna Eclipse yazıp arattığınızda en üst bağlantıda Eclipse Download sayfasına yönlendirilirsiniz.

Bu sayfada hangi Eclipse versiyonunu indirmem gerekiyor şeklinde bir çok soru geliyor. Aslında kullanılan 2

temel versiyon bulunmakta Standart Edition ve Enterprise Edition. Eğer web tabanlı uygulama geliştirmek

istiyorsunuz Enterprise Edition’ı seçin yoksa Eclise Neon 1a başlangıç aşaması için yeterli olacaktır.

Eclipse Kurulumu

Başlangıçta proje dosyalarınızı nerede tutacağınız ile ilgili bir ekran geliyor. Çalışmalarımızı nerde tutmak

istiyorsak seçiyoruz ve Eclipse hazır.

Eclipse ile İlk Programımızı Yazalım

File–>New–>Project diyerek Proje oluşturma sihirbazını açalım. Aşağıdaki ki gibi bir pencere sizi

karşılayacak.

Bu ekranda java ile oluşturabileceğiniz tüm projeleri göreceksiniz. Tabi kurulumunuza ve yüklediğiniz

eklentilere bağlı olarak bu pencere farklılık gösterebilir. Bu kısımdan en üst seçenek olan Java Project’i seçerek

ilerliyoruz.

Eclipse ile İlk Programımızı Yazalım

Yukardaki ekran görüntüsünde göreceğiniz üzere ekranın en üst kısımda projenizin ismini yazmanız isteniyor.

Proje ismi bölümünün alt kısımda daha ayrıntılı ayarlamalar bulunuyor. Hangi java sürümüyle çalışmak

istediğiniz, projeniz içerisinde oluşturulacak klasör ve sınıflar, projenizi hangi workspace’e eklemek istediğiniz

gibi ayarlamalar bulunmakla birlikte şu aşamada bu kısımları olduğu gibi bırakmak doğru bir seçenek olacaktır.

Next deyip bir sonraki adıma geçiyoruz.

Eclipse ile İlk Programımızı Yazalım

Bu ekrandan eklemek istediğimiz kütüphaneler ve yardımcı kaynak dosyaları ekleyebiliyorsunuz. Java bizim

için temel kütüphaneleri eklemiş durumda Library kısmında bunu görebilirsiniz. Bu ekranda şu aşamada

herhangi bir ayarlama yapmamız gerekmiyor Finish deyip projemizi oluşturuyoruz. İlk projemizi oluşturduk

Project Explorer penceresinde proje dosyalarınızı görebilirsiniz. Fakat hala kodlarınızı yazabileceğiniz bir ekran

görüntülenmiyor.

Eclipse ile İlk Programımızı Yazalım

Project Explorer PenceresiProject Explorer penceresinde görmüş olduğunuz src klasörü bizim kodlarımızı

yazacağımız sınıfları (Class) barındırır. Src klasöünü sağ tıklayarak New–>Class diyerek yeni bir sınıf

oluşturuyoruz.

Bu ekranda işaretle gösterilen yerlere dikkat edelim. Birincisi package(paket) kısmı paketler belirli sınıfları bir

arada tutmak için kullanılan klasörlerdir. İkinci kısım Name alanı oluşturacağımız sınıfımıza bir isim veriyoruz.

Sınıf isimlerini verirken her kelimenin ilk harfini büyük yazmaya özen gösterin buna mecbur olmasanız da

anlaşılabilirlik ve genel kabul görme açısından önemlidir. Üçüncü kısım sınıfınızın içerisinde bir main metodu

isteyip istemediğiniz kısım. Seçmeyi unutursanız main metodunuzu ellede sonradan oluşturabilirsiniz. Finish

deyip sınıfımızı oluşturuyoruz.

Eclipse ile İlk Programımızı Yazalım

Java Class OluşturmaEvet sınıfımızı oluşturduk main metodu otomatik olarak sınıfımızın içine eklendi. Şimdi

ilk programımızı yazalım.Klasik ekrana “Merhaba Dünya” yazan basit bir console uygulaması yapalım.

Merhaba Dünya kodumuzu yazdık. Tek satır kodu yazmak biraz zor olmuş olabilir.. Ekran görüntüsünde

gördüğünüz kodumuzu derleyip çalıştırmak için gerekli Play tuşuna benzeyen butona tıklıyoruz ve alt kısımda

ki Console ekranından ekran çıktımızı alıyoruz.

Eclipse ile İlk Programımızı Yazalım

Programın Yapısı

// işaretiyle başlayan yazılar bilgisayar tarafından kullanılamaz sadece programı okuyanı

bilgilendirmek amacı taşır /* ….. */ işaretleriyle de verilebilir. Örneğin :

/* Bu kısımda yazılanlarla bilgisayar ilgilenmez Sadece insanların programı anlaması içindir */

{ } başlatma ve bitirme : Sınıf tanımlaması da dahil olmak üzere Tüm Program parçacıkları {

işaretiyle başlar ve } işaretiyle son bulur. {} işaretleri arasında yazılan program parçacıklarını

normal metin yazılmasındaki paragraf kavramına benzetebiliriz. Ayrıca program koduna

baktığımızda “; ” işaretine sık sık rastlıyoruz. Bu işaret java komutunun bittiğini belirtir. Cümle

yağısında kullanılan nokta “.” işareti gibi işlev görür. Java programlarını istersek “;” ve “{}”

ayraçlarını kullanarak tek bir satır olarak yazabiliriz.

public static void main(String args[]) diğer dillerde fonksiyon (function), subroutine, procedure gibi

adlarla anılan Program alt parçacığının başlığı. Bu Program parçacıkları javada Metot (Method)

adıyla anılır. Metotların girdileri ve çıktıları olabilir. Bu metotun adı main (ana Program) dır.

String değişken türü args[] değişkeni girdi olarak girebilir. Bu metotta void çıktı türü kullanılmıştır.

Void kelimesi bu metotdan hiçbir çıktı alınmayacağını belirtir. public metota dışarıdan

ulaşılabilme izni verir.

System.out.println(“Java Sinifina Hos Geldiniz!”); Bu satır System.out sınıfından println metotunu

çalıştırır. Bu metot method girişinde gönderilen String tipi değişkeni konsol çıktısına aktarır.

Fortran dilindeki write(*,*) veya print*, c dilindeki printf, c++ dilindeki cout<< terimlerinin

javadaki tam karşılığıdır.

“Java Sinifina Hos Geldiniz!” stringi aynen aktarılırken içinde c dilinde kullanılan temel kontrol

terimleri yer alabilir ve aynen c dilindeki anlamlarıyla kullanılabilir. Bu kontrol terimlerinden en

yaygın olarak kullanılan bazıları:

\n alt satıra geç

\t bir sonraki tab’a atla

\r gir tuşu bas

\\ \ işaretini yaz

\” “ işaretini yaz

Eclipse ile Java Programlama

Program 1.2 Hosgeldiniz1.java programı

  import javax.swing.JOptionPane;

  class Hosgeldiniz1 {

  public static void main (String args[])

 {JOptionPane.showMessageDialog(null,”Java sınıfına hoş geldiniz!”);}

  }

komutlarını kullanarak veya editörde çalıştırdığımızda

 Çıktısını alırız. Bu çıktıyı alabilmek için java SWING kütüphanesi içerisinde yer alan

 JOptionPane.showMessageDialog(….) metodunu kullandık. Bu metodu programımızda çağırabilmek için de

 import javax.swing.JOptionPane; yapısını kullandık. Buradaki import kütüphanedeki javax program paketini

 çağırır. Bu metodun görevi System.out.println metoduyla aynıdır. Farkı ise grafik ortamda çıktı vermesidir.

 Programdan da da görüleceği gibi sınıfımızın (class) adı Hosgeldiniz1 dir. Bir önceki programdaki gibi bu

 programda kullandığımız komutlar public static void main(String args[]) komutuyla tanımlanan ana metodun

 içinde yazılmıştır. Şimdi de JApplet grafik ortamında bir çıktı çağıralım:

Eclipse ile Java Programlama

Program 1.3 Hosgeldiniz3.java programı

 import java.io.*;

 class Hosgeldiniz3 {

 public static void main (String args[]) throws IOException

 {

 BufferedReader cin=new BufferedReader(new InputStreamReader(System.in));

 System.out.println(“isminizi giriniz : “);

 String isim=new String(cin.readLine());

 System.out.println(“Java Sinifina Hos Geldiniz! “+isim);

 cin.close();

 }

 }

Bu programda okuma işlemini yapmakiçin önce

BufferedReader cin=new BufferedReader(new InputStreamReader(System.in));

Deyimini kullanarak bir okuma kanalı açtık, sonra

System.out.println(“isminizi giriniz : “);

String isim=new String(cin.readLine());

Deyimindeki cin.readLine() komutuyla ismi cin kanalından okuyarak isim değişkenine aktardık.

Eclipse ile Java Programlama

Matematiksel İşlemler

Programlama dillerinde rakamlar bilgisayar belleğinin temel depolama birimlerine yazılırlar. Temel bilgisayar

bellek birimi bit olarak adlandırılır. Bir bilgisayar belleğindeki tek bir transistörden oluşmuştur. Bu

transistörden akım geçiyorsa tansistörün veya bitin bellek değeri 1 (bir) veya true (doğru) olarak alınır. Eğer

akım geçmiyor veya düşük düzeyde bir akım geçiyorsa transistörün bellek değeri 0 (sıfır) veya false(yanlış)

olarak alınır. Bilgisayar bit birimleri bir araya gelerek bilgisayar temel değişken türlerini yazabileceğimiz bir

sistem oluştururlar. Değişken türü bilgisayar tarafından bilinmelidir, çünkü aynı bit topluluğu bir harfi

simgeleyebileceği gibi bir rakamı da simgeleyebilir. Java dilinde Tablo 1.1 de görülen temel değişken türleri

mevcuttur.

Değişken Türleri

Eclipse ile Java Programlama

Matematiksel İşlemler

Aritmetik İşlemler

Javadaki temel aritmetik işlemler şunlardır :

+ toplama – çıkarma * çarpma / bölme % tamsayılar için bölmede kalan (modül)

Program 1.4 Java ile Toplama toplama.java programı

package javaapplication1;

import java.util.*;//Kullanıcının girdiği değerleri okuyabilmek için util paketini dahil ediyoruz

public class Toplama { // Sınıfımızın adı Toplama

  public static void main(String[] args) {//Main olmadan program çalışmayacaktır

  int sayi1,sayi2,toplam;//Değişkenlerimizi tanımlıyoruz.

  Scanner giris=new Scanner(System.in);//Kullanıcının girdiği değerleri okumak için

  //Scanner kullanıyoruz, Bir kez tanımladıktan sonra istediğimiz kadar kullanabiliriz

  System.out.print(“Bir sayı girin:”);// Kullanıcıdan sayı istiyoruz

  sayi1=giris.nextInt();//Sayi1 değilkenine scannerdan okuduğumuz değeri yazıyoruz

   System.out.print(“Bir sayı girin:”);

  sayi2=giris.nextInt();

  toplam=sayi1+sayi2;//Toplama işlemlerini yaptım

    System.out.print(“Sayıların Toplamı:”+toplam);//Ve sonucu ekrana yazdırıyoruz.

  }

}

Eclipse ile Java Programlama

Matematiksel İşlemler

Aritmetik İşlemler

Program 1.4 Java ile Toplama toplama.java programı

Programın Çıktısı Aşağıdaki gibi olacaktır.

Eclipse ile Java Programlama

Matematiksel İşlemler

Fonksiyon Hesaplama

Program 1.5 y=f(x)=x2+2x-2 verilmiş olsun. Ekrandan girilecek bir x rakanı için y değerini hesaplama

import javax.swing.*;

public class fonksiyonhesaplama

{

// main metodu

public static void main( String args[] )

{

double x = Double.parseDouble(JOptionPane.showInputDialog(” x = :”));

double y=x*x+2.0*x-2;

JOptionPane.showMessageDialog(null,” x =”+x+” y = “+y ); // sonucu göster

}

} // main metodu sonu

Eclipse ile Java Programlama

Matematiksel İşlemler

Fonksiyon Hesaplama

Program 1.5 y=f(x)=x2+2x-2 verilmiş olsun. Ekrandan girilecek bir x rakanı için y değerini hesaplama

Java ve C dillerinde temel aritmetik işlemlerinin yanı sıra bu işlemlerin kısaltılmış sembolleri de oldukça sık

kullanılır. Bu işlemler :

++ bir ilave et — bir çıkar += sağ taraftaki rakamı ilave et -= sağ taraftaki rakamı çıkar *= sağ taraftaki

rakamla çarp /= sağ taraftaki rakama böl %= sağ taraftaki rakama bölüp kalanını al işlemleridir.

++ ve — işlemleri değişkenden önce veya sonra gelebilir. Bu iki şeklin değişken tek başlarına kullanıldığında

bir farklılıkları yoktur, fakat ikinci bir değişkenle birlikte tek bir deyimde kullanıldıklarında ikinci değişkenin

değeri değişir.

Eclipse ile Java Programlama

IF Komut Yapısı

if deyimi, “ifadeyi denetleyerek, ifadenin değerine göre uygun yollardan bir tanesiyle dallanma işlemini

gerçekleştiren” bir kontrol deyimidir. Bu sayede şartlı dallanma (conditional branching) adı verilen işlem

gerçekleştirilir. Şartlı dallanma, bir programlama dili için en temel kontrol yapısıdır.

Şartlı dallanma işlemiyle bir program, gidişatını daha önceden verdiğiniz yollardan biriyle devam ettirmeye

karar verebilir hale gelir. Bir şarta göre bir komut dizisini çalıştırır veya esgeçer.

Java dilinde şartlı dallanma if ve else anahtar sözcükleriyle gerçekleştirilir. if deyiminin basit gösterimi

şöyledir:

 if( boolean değişken yada sabit) { boolean degişken veya sabitin değeri true olduğunda yapılan

işlemler} komut1

else if( boolean değişken yada sabit) { boolean degişken veya sabitin değeri true olduğunda

yapılan işlemler} komut2

else { yukardaki boolean değişken vede sabitlerin hiçbiri true değerine eşit değilse yapılacak olan

işlemler}    komut3

Burada şartın değeri doğru (true) olarak sağlanıyorsa ancak komut 1 çalıştırılır. Eğer çalıştırmıyorsa komut

2 ye geçer eğer şart komut1 ve komut 2 yi çalıştırmıyorsa else ile komut 3 e geçer. Bunu bir örnekle

açıklayalım.

Eclipse ile Java Programlama

IF Komut Yapısı

Program 1.6 if yapısını gösteren ifyapisi.java programı

import javax.swing.JOptionPane;

class ifyapisi

{

public static void main (String args[])

{

String s1=JOptionPane.showInputDialog(“Ogrencinin notunu giriniz (0-100) : “);

int not=Integer.parseInt(s1);

String s;

if( not >= 90) { s=”A”;}

else if(not >=75) { s=”B”;}

else if(not >=60) { s=”C”;}

else if(not >=50) { s=”D”;}

else if(not >=40) { s=”E”;}

else { s=”F”;}

s=” Öğrencinin notu = “+s;

JOptionPane.showMessageDialog(null,s);

}

}

Eclipse ile Java Programlama

IF Komut Yapısı

Program 1.6 if yapısını gösteren ifyapisi.java programı

Programın Çıktısı Aşağıdaki Gibi Olacaktır

Eclipse ile Java Programlama

IF Komut Yapısı

Program 1.7 Doğum ayı ve günü verildiğinde kişinin burcunu bulan program

package odev;

import java.util.*;

public class burc {

public static void main(String[] args) {

Scanner oku=new Scanner(System.in);

String dogum[]={“Gün”,”Ay”,”Yıl”};

int dogum1[]=new int [3];

String burclar[]={“Başak”,”Akrep”};

System.out.println(“Doğum tarihinizi giriniz”);

for(int i=0;i<dogum.length;i++){

System.out.println(dogum[i]+” giriniz”);

dogum1[i]=oku.nextInt();

}

for(int i=0;i<dogum.length;i++){

System.out.print(dogum1[i]+” “);

}

if((dogum1[0]<22 & dogum1[1]==9) ||(dogum1[0]>23 & dogum1[1]==8) ){

System.out.print(“burcunuz: “+burclar[0]);

}

if((dogum1[0]>23 & dogum1[1]==10) ||(dogum1[0]<21 & dogum1[1]==11) ){

System.out.print(“burcunuz: “+burclar[1]);

}

}

}

Eclipse ile Java Programlama

IF Komut Yapısı

Program 1.7 Doğum ayı ve günü verildiğinde kişinin burcunu bulan program

Programın Çıktısı Aşağıdaki Gibi Olacaktır

Eclipse ile Java Programlama

For, While , Do While Tekrarlama Yapısı

For Yapısı

Yazilan programlarda bazen belli komut parçalarinin birçok kez çalismasi gerekebilir. Yani bazi komut

parçalarinin, belli sartlar altinda tekrar tekrar islenmesi gerekebilir. Döngü deyimleri, bahsedilen komut

parçalarinin belirtilen sartlar gerçeklestikçe tekrar tekrar islenmesini saglar.

Java’da üç tür döngü vardir. Bunlar çogu programlama dilinde olan; “for”, “do-while” ve “while” döngüleridir.

Bu döngülerden for ve while döngüsünde, kosul sinamasi döngüye girmeden önce yapilirken, do-while

döngüsünde kosul sinamasi bir kod parçasi çalistiktan sonra yapilir.

Öncelikle for döngüsünün yapisi su sekildedir:

for ( 1. deger (baslangiç degeri-initialization) ; 2.deger (kosul kontrolü) ; 3.deger (islemler) )

{

. . . . . . . . // sarta bagli tekrarlanmasini istedigimiz kodlar

……..

}

for” döngüsü görüldügü gibi üç parçadan olusur. Her parça birbirinden ile ayrilir. Ilk parça, baslangiç degeri

(initialization) dir. Burada bulunan islemler, döngü baslamadan önce ve bir kere islenir. Bu 1. degere birden

fazla islem yazilabilir, bunlari da birbirinden ‘,’ virgül ile ayirmak gerekir. Ancak bu islemleri az tutmanizi

tavsiye ederim.

Ikinci parçada, kosul kontrolü yapilir. for döngüsünün her tekrarinda kontrol edilmesi gereken kodu bu

kisima yazmak gerekir. Bu kod dogru oldugu surece, döngü devam eder, eger kosul saglanmiyorsa

döngüden çikilir.

Üçüncü parçada yer alan kodlar ise; yine döngünün her turunda, süslü parantezin içindeki kodlar gibi

çalisir. Tek fark, üçüncü parçadaki kodlarin baslangici, döngünün içinde yer alan kod parçalarinin

çalismasindan sonra olur.

Eclipse ile Java Programlama

For, While , Do While Tekrarlama Yapısı

For Yapısı

Basit bir örnek vermek gerekirse:

for(int deger=5;deger<10;deger++){

    System.out.println(deger);

}

Yukaridaki for döngüsünde ilk parçada deger=5 diyerek, degerimizin ilk degerini atamis olduk. Ikinci parça

olan deger<10, kosul kismimiz. Döngü her döndügünde “deger” in 10 dan küçük olup olmadigina bakacak.

“deger” 10’a esit ya da 10’dan büyük oldugu anda döngü sonlanir. Üçüncü parça olan deger++ kismi ise,

System.out.println(deger); çalistiktan sonra döngü döndükçe “deger”in bir artacagini gösteriyor. Sonuç

olarak bu kod parçasi ekrana alt alta 5 ten 10 a kadar tüm sayilari yazar. 10 hariçtir. Çünkü deger 9 olarak

basildiktan sonra deger++ çalisir. “deger” in degeri 1 artip 10 olur ve döngü kontrolüne girdiginde deger<10

sartini saglamadigi için döngü sonlanir.

Program 1.8 For döngüsü ile çarpım tablosu

public class Main {

  public static void main(String[] args) {

     for (int i = 0; i < 10; i++) {

        for (int j = 0; j < 10; j++) {

           System.out.println(i + “*” + j + ” = ” + i * j);

        }

        System.out.println();

     }

  }

}

Eclipse ile Java Programlama

For, While , Do While Tekrarlama Yapısı

For Yapısı

Program 1.8 For döngüsü ile çarpım tablosu

Bu örnekte görüldügü gibi iç içe for döngüsü mevcut. Bu kisa kod parçasi ilkokulda ögrendigimiz çarpim

tablosunu olusturuyor. Çiktisi su sekilde oluyor:

Eclipse ile Java Programlama

For, While , Do While Tekrarlama Yapısı

While Yapısı

Zaten iki döngüde birbirine çok benzer çok az farklari var. while döngüsünde, while komutu içerisindeki

ifade “true” degerini aldigi müddetçe while döngüsünün blogu içerisindeki kod parçalari islenir. Eger while

komutu içerisindeki deger “false” degerini alirsa, döngü blogunun çalismasi sonlanir.

while döngüsünün yapisi su sekildedir

while(expression-ifade){

}

Tüm döngülerin mantigi aynidir. Herhangi bir döngüyü anlamaniz, diger döngüleri de rahatlikla

anlayabileceginiz anlamina gelir. Örnek vericek olursak:

Bu örnekte kullanicidan 5 sayi isteniyor. Kullanicidan deger almayi daha görmedik ancak simdilik Scanner

sinifi yardimi ile kullanicidan deger aldigimizi bilmeniz yeterli. “i” degiskenini döngünün 5 kere dönmesi için

tanimladik. “i” degiskenini 1 den baslatmamizin sebebi ekrana 1. Degeri giriniz yazmasini saglamak içindir.

while döngüsü içindeki sart saglandigi müddetçe döngünün döndügünü görüyorsunuz. Döngü her

döndügünde “toplam” degiskeninde o ana kadar girilen sayilarin toplami bulunur. En son 5. sayi da

girildikten sonra, i=6 oldugundan while içindeki komut saglanmaz ve döngü sonlanir. Son olarak

“System.out.println(“Girdiginiz sayilarin toplami = “+toplam);” çalisir ve program sonlanir. Bu programi for

döngüsüyle de söyle yazabilirdik. Asagidaki kodun da yaptigi islem aynidir for döngüsüyle while döngüsünü

karsilastirmaniza yardimci olacagini düsünüyorum.

Eclipse ile Java Programlama

For, While , Do While Tekrarlama Yapısı

While Yapısı

Program 1.9 While döngüsü ile girilen 5 sayının toplamını hesaplama

import java.util.Scanner;

public class Main {

  public static void main(String[] args) {

     int toplam=0;

     System.out.println(“Lütfen 5 sayi giriniz: “);

     Scanner s=new Scanner(System.in);

     int i=1;

     while (i<6) {

        System.out.println(i+”. sayiyi giriniz: “);

        int sayi=s.nextInt();

        toplam+=sayi;

        i++;

     }

     System.out.println(“Girdiginiz sayilarin toplami = “+toplam);

  }

}

Eclipse ile Java Programlama

For, While , Do While Tekrarlama Yapısı

While Yapısı

Program 1.9 While döngüsü ile girilen 5 sayının toplamını hesaplama

Program Çıktısı Aşağıdaki Gibidir

Eclipse ile Java Programlama

For, While , Do While Tekrarlama Yapısı

Do While Yapısı

while deyiminin önemli bir özelliği, test koşulunun döngünün başlangıcında olmasıdır. Bunun anlamı, ilk

anda koşulun yanlış olması halinde, while gövdesinin hiçbir zaman çalıştırılmayacağıdır. Ancak

gövdeyi hiç olmazsa bir kere çalıştırmamız gereken durumlar vardır. Bu durumlar çok yaygın olmasa da

gerektiği zaman do…while deyimini kullanmalıyız.

do..while döngü yapısının yazılışı şu şekildedir:

Do {

Deyim1;

Deyim2;

Deyim_n;

 }

while(İfade) ;

do…while ve while döngüleri arasındaki tek fark, test koşulunun (ifadenin) do while döngüsünde, döngünün

sonunda yer almasıdır. Bunun anlamı, programın döngüyü hiç olmazsa bir kez çalıştırmasıdır (ilk

kez). Sonra, ifadenin değerine bağlı olarak, ifade doğru ise tekrar do’ya dönülerek döngü sürebilir veya

ifade yanlış ise bir sonraki deyimle devam edilebilir.

Bir örnekle açıklamak gerekirse:

Eclipse ile Java Programlama

For, While , Do While Tekrarlama Yapısı

Do While Yapısı

Program 1.10 Do While döngüsü ile 10 a kadar olan çift sayıların toplamı

public class Main {

  public static void main(String[] args) {

     int toplam=0;

     int i=0;

     do{

        if(i%2==0){

            toplam+=i;

        }

        i++;

     }while(i<=10);

     System.out.println(“(10 dahil)10’a kadar olan çift sayilar toplami: “+toplam);

  }

}

Programın Çıktısı Aşağıdaki Gibidir

Eclipse ile Java Programlama

Switch Case Tekrarlama Yapısı

Bir programda çok sayıda koşul kontrolü ve bunların sonucuna göre gerçekleştirilmesi gereken işlemler

varsa, if-else yapıları ile akışın izlenmesi zorlaşabilir. Böyle durumlar genellikle switch deyiminin

kullanılmasının gerekli olacağı durumlardır. switch deyimi, tek bir ifadenin değerine göre sınırsız sayıda

çalıştırma yolu belirlemeyi sağlayan bir komuttur.

switch sözcüğünden hemen sonra gelen ifade parantez içinde yer almalı ve bir tamsayı ifade olmalıdır.

case anahtar sözcüklerini izleyen ifadeler tamsayı                 sabit türünde ifadeler olmalıdır,

yani değişkeniçermemelidir.

switch deyiminin çalışma prensibi basittir. switch ifadesi hangi case’i izleyen sabitle çakışıyorsa, programın

kontrolü o case’i izleyen kısma geçer. Bu case’den sonraki deyimler de kontrol edilmeden çalıştırılır.

case sabitlerinden hiçbiri ifade ile uyuşmuyorsa, programın akışı default‘u izleyen kısıma geçer. (Bu kısım

mevcutsa) default‘un en sonda olması şart değildir. Fakat en sona koymak iyi bir programlama stilidir.

İki case sabiti aynı değeri alamaz.

Switch/case yapısında, programın kontrolünün ifadenin değerine göre case seçeneklerinden sadece birini

çalıştırıp bundan sonra switch/case yapısını terketmesini isiyorsak bu durumda her case seçeneğinden

sonra break komutu yerleştirmeliyiz.

Konuyla ilgili bir örnek vericek olursak

Eclipse ile Java Programlama

Switch Case Tekrarlama Yapısı

Program 1.11 Bir turizim şirketinin farklı paketleriyle ilgili detaylarını kullanıcı seçimleriyle ekrana

getiren program

import java.io.IOException;

import java.util.Scanner;

public class Cases2{

  public static void main(String args[]) throws IOException{

     Scanner giris = new Scanner(System.in);

     int i;

        System.out.println(“Portakal Turizm A.S. Sunar”);

        System.out.println(“(1) Orta Avrupa Turu”);

        System.out.println(“(2) Amerika Turu”);

        System.out.println(“(3) Uzak Dogu Turu”);

        System.out.println(“Seciminiz?”);

        i = giris.nextInt();

        switch (i) {

        case 1 :

          System.out.println(“Ucak ile Viyana, Budapeste, Prag”);

          System.out.println(“4 yildizli otellerde sok! 1700$\n”);

          break;

        case 2 :

          System.out.println(“Ozel ucak ile New York, Boston, Los Angeles”);

          System.out.println(“5 yildizli otellerde sok! 3700$\n”);

          break;

        case 3 :

          System.out.println(“Ozel ucak ile Bang Kong, Hong Kong”);

          System.out.println(“Tokyo, Pekin”);

          System.out.println(“5 yildizli otellerde sok! 4000$\n”);

          break;

        default :

          System.out.println(“Hatali secim! 1, 2 veya 3 girilmeli”);

          break;

        }

    }

}

Eclipse ile Java Programlama

Switch Case Tekrarlama Yapısı

Program 1.11 Bir turizim şirketinin farklı paketleriyle ilgili detaylarını kullanıcı seçimleriyle ekrana

getiren program

Programın Çıktısı Aşağıdaki gibidir

Eclipse ile Java Programlama

Kaynakça

http://www.kurumsaljava.com/2012/05/29/herhangi-birisi-size-neden-java-kullaniyorsunuz-sorusunu-

sordugunda-hangi-cevabi-verirsiniz/

https://java.com/tr/about/

mturhan coban java programlama diline giriş

http://www.kodlamamerkezi.com/java/java-jdk-ve-eclipse-kurulumu/
http://www.kodlamamerkezi.com/java/eclipse-ile-java-projesi-olusturma-merhaba-dunya/
http://www.programlamadersleri.com/blog/2015/10/07/java-2-sayinin-toplanmasi-islemi/
https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-101/if-deyimi
http://www.yazilimmutfagi.com/10373/dersler/java/javada-dongu-kullanimi-for-while-ve-do-while-

donguleri.aspx