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
sordugunda-hangi-cevabi-verirsiniz/
mturhan coban java programlama diline giriş
donguleri.aspx