Bu Sayfayı Paylaş:

Bilgi/Açıklama

Java Üzerine

Java'nın Tarihi

Java , Sun şirketinin 1995'te çıkardığı bir dildir. Önceleri küçük cihazlar için düşünülen Java, bugün bilgisayar dünyasının her alanında söz sahibi olmuştur.
Java, ilk başlarda Web sayfalarına gömülen Applet'lerle kendisini duyurmuştur. Özellikle Netscape'in Java Applet'lerini çalıştırması büyük bir devrim olmuştur. Daha sonra Servlet ve JSP ile Web'e yönelik uygulamalar geliştirilebilir hale gelmiştir. Bugün özellikle Java , Enterprise (Kurumsal) uygulamalarda yaygın kullanılmaktadır. Java ile grafik arayüzü bulunan programlar da yapılabilir. Ayrıca cep telefonları gibi küçük cihazların bir çoğu Java'yı desteklemektedir.
Java, yazım kuralları ve nesneye yönelik özelliklerini C++'tan almıştır. Ancak C++'ın mantığını değiştirmiş ve basitleştirilmiştir. C++ içinde olan birçok özellik gereksiz bulunarak kaldırılmıştır. Bu şekilde Java , C++'ın üstün özelliklerini taşırken öğrenimi ve kullanımı C++ göre çok daha basit bir dil haline gelmiştir.
Java'nın ilk sürümü küçük boyutlu ve kısıtlı özelliklere sahipti. Giderek yaygınlaşması, değişik alanlarda kullanılmaya başlanması nedeniyle daha da büyüdü. Java'nın 1.0 ve 1.1 sürümüne Java 1, 1.2, 1.3, 1.4 sürümüne Java 2 platformu adı verilmektedir. Java, 1.5 yerine doğrudan 5'e geçmiştir. Bu sürüm Java 5 olarak adlandırılmaktadır. Daha sonra 6 , 7 , 8 ve 9 olarak devam etmiştir. Dilde ve kütüphanede büyük değişiklikler gerçekleştiği zaman bu tür versiyon numaraları verilmiştir.

Java ile Neler Yapılabilir?

Windows, Linux gibi işletim sistemleri üzerinde çalışan grafik arayüzü olan veya komut satırından çalışan uygulamalar yapılabilir. Web'e yönelik web portalları, siteleri geliştirilebilir. Birden fazla bilgisayar üzerinde çalışan dağıtık uygulamalar yazılabilir. Küçük cihazlarda (cep telefonları vs.) çalışan Java uygulamaları yazılabilir.

Niçin Java?

Bugün en çok tercih edilen dillerden bir olan Java'nın üstün özellikleri nelerdir? Aşağıda bazı önemli özellikleri listelenmiştir.
Java platformdan bağımsızdır. Java'da yazılan bir kod sadece bir kere derlenmesi yeterlidir. Aynı kod değişiklik yapmaya gerek olmadan Windows, Linux, Mac ortamlarında çalışmaktadır. Bu özellik şirket ve kurumlara maliyet ve zaman kazandırır.
Java nesneye yönelik bir programlama dilidir. Nesneye yönelik programlama tekniği, en gelişmiş programlama tekniğidir. Birçok dil nesneye yönelik özellikleri sonradan dile eklemişlerdir.
Java basittir. Java bir çok dile göre daha basittir. Java yaratılırken olabildiğince basit olmasına çalışılmıştır. Benzer görevleri olan, kafa karıştıran, programcı için hiç gerekli olmayan birçok özellik dile alınmamıştır. Örneğin C++'ta bulunan pointer Java'da yoktur. Bu nedenle Java öğrenilmesi kolay bir dildir.
Java'da güvenlik çok önemlidir. Java programları çalıştığı sistemde problemlere sebep olmazlar. Java hem derlenme hem de çalıştırılması sırasında gelişmiş bir güvenlik kontrolünden geçer. Bu nedenle bir Java programına bir virüs veya zararlı bir program bulaşması çok zordur.
Java programları sağlamdır. Java'da programcıların hafızaya erişememesinden dolayı pointer sorunları, bellek sızıntıları gibi sorunlar ortaya çıkamaz. İşletim sistemine özel kodlar içermediği için sisteme bağlı değildir.
Güçlü bir hata yönetim sistemi vardır. Herhangi bir hata olduğunda programcının ne yapılması gerektiğini söylemesi gerekir. Bu şekilde program bir istisna durum olduğunda dahi çalışmaya devam edebilir. Bir hatanın nerede ve hangi satırda olduğu ayrıntılı bir şekilde görülebilir.
Java standarttır. Java dili ve platformu önce Sun sonra Oracle şirketinin kontrolündedir. Başka şirketler standarda uymak koşuluyla kendi derleyici ve çalıştırma ortamlarını yazabilirler. Böylece yazdığınız bir Java kodunun her platformda çalışması sağlanır. Ayrıca Java'nın standartlarını JCP Kurumu belirlemektedir.
Java internete ve dağıtık sistemlere uygundur. Java internet ve network üzerinde çalışmaya en uygun dildir.
Bir çok şirket derleyici ve çalıştırma ortamları üretmektedir. Aynı şekilde bir çok şirket geliştirme ortamları yaratmaktadır. Bu da şirket ve kurumlara çok fazla seçenek sunmaktadır. Hiçbir şekilde tek bir şirket ve kuruma bağlı durumda kalınmaz.
Java şu anda dünyanın en gelişmiş dililerden biridir. Java bugün dünyada birçok şirketin verdiği destek ve ürettiği ürünlerle son derece gelişmiş bir durumdadır. Hem standart Java kütüphaneleri, hem de başka şirketlerin, kurumların ürünleri zengin bir kaynak sağlar. Bugün herhangi bir konuda Java ile ilgili bir proje veya kaynak bulabilirsiniz.

Bilgi/Açıklama

Java Geliştirme Çevreleri

Java Geliştirme Çevreleri

Java platformdan bağımsız bir dildir. Yani bir kere Java kodu ile bir program yazdınız mı her yerde değişiklik yapmadan çalıştırabilirsiniz. Örneğin aynı kod hem Windows Server'da hem de Linux'ta hiç değişiklik yapılmadan çalıştırılabilir.
Kullanıcının yazdığı kodlara Kaynak Kod (Source Code) denir. Kullanıcının yazdığı kodların makine koduna çevrilmesi gerekmektedir. Bu işleme Derleme (Compile) denir. Java'da kaynak kodlar derlenerek Bytecode denilen ara koda çevrilir. Bytecode, JVM (Java Virtual Machine - Java Sanal Makinesi) denilen bir program aracılığı ile gerçek makine koduna çalışma sırasında çevrilir. Yani program ilk çalıştırıldığında Bytecode makine koduna çevrilir. Kaynak kodlar .java uzantılı dosyalarda tutulur. Bytecode ise .class uzantılı dosyalarda tutulur. Sonuç olarak derlenmiş Java kodunun çalışması için ortamda JVM olması gerekmektedir. JVM sisteme JRE (Java Runtime Environment) ile kurulabilir.
Java, derleme ve çalıştırmak için JDK (Java Development Kit) denilen komut satırından çalışan bir editör sağlar. JDK sadece derleme ve çalıştırmak içindir. JDK, kodlama yapmak için kullanılmaz. Daha hızlı, daha kolay kod yazmak için editör kullanabilirsiniz. Bu editörlerin en ünlüleri NetBeans, Eclipse, IntelliJ'dir. Bu editörler ile kod yazma, Bytecode'a çevirme ve çalıştırma işlerinin kolayca yapılmasını sağlarlar.

Class Path

Java derleyicisi (compiler) ya da JDK ve yorumlayıcı (interpreter) ya da JVM, gerekli olan sınıfları ve paketleri bulabilmesi için verilen path (işletim sisteminde dizin veya bir dosyanın konumu), zip veya jar dosyası bilgilerine Classpath adı verilir . Çalıştırma ve derlemede değerler classpath veya cp parametresiyle verilirler. Java kurulu ortamda tanımlanan, varsayılan classpath değerlerinin tanımlandığı sistem değişkeninin adı CLASSPATH şeklindedir. Bir uygulamayı çalıştırırken ve derlerken CLASSPATH değişkeninde tanımlı olan sınıf ve paketler Java tarafından kullanılacaktır.
Java derleme ve yorumlama (veya başka bir araç) sırasında , kullanıcının yarattığı veya üçüncü parti üreticilerin ürettiği sınıfları bulabilmesi için classpath değerini kullanacaktır. Eğer uygulama içinde kullanılmaya çalışılan bir sınıf classpath'te tanımlı değilse hata oluşur. Classpath iki türlü set edilebilir :
  • Sistem değişkeni olan CLASSPATH set edilir
  • Kullanım sırasında (derleme , çalıştırma vb.. sırasında) -cp veya -classpath parametresi ile set edilebilir.
Classpath'e aşağıdaki tipler eklenir :
  • Klasör : Bir klasör tanımlanırsa içindeki sınıflar ve paketler classpath'e eklenmiş olur.
  • .jar veya .zip olarak : Sınıflar veya paketlerin sıkıştırıldığı dosyalar classpath'e eklenebilir.
Classpath için bazı özel işaretler kullanılır :
  • . : Bulununan klasörü belirtir. Herhangi bir classpath set edilmezse varsayılan olarak kabul edilir.
  • * : Bir klasörün içi (C:\Test\* gibi) tanımlanırsa o klasör içindeki tüm .jar uzantılı dosyalar classpath'e eklenirler. (Bir klasörü eklemek alt klasörlerin eklendiği anlamına gelmez. Alt klasörler ayrı olarak verilmelidir)
Classpath birden fazla tanım aralarına ";" ile eklenmektedir :
-cp D:\Test;C:\Test2\a.jar;C:\Test3\* 
veya
set CLASSPATH=D:\Test;C:\Test2\a.jar;C:\Test3\*

Java Application Launcher

JDK içinde bulunan, bir Java uygulamasını komut satırından çalıştıran uygulamaya Java Application Launcher adı verilir. Bu uygulama Windows'da java.exe ve javaw.exe, Linux'da java.sh ve javaw.sh dosyasıdır. Genel yazımı aşağıdaki gibi gösterilebilir :
  • java [seçenekler] class [argümanlar] (sınıftan çalıştırma)
  • java [seçenekler] -jar file.jar [argümanlar] (jar'dan çalıştırma)
  • javaw [seçenekler] class [argümanlar] (arayüzü (window) olan uygulamayı sınıftan çalıştırma)
  • javaw [seçenekler] -jar file.jar [argümanlar] (arayüzü (window) olan uygulamayı jar'dan çalıştırma)
Java uygulama çalıştırıcısının seçenekleri (options) temel olarak ikiye ayrılmaktadır :
  • Standart Seçenekler (Standard Options) : Çalıştırma ortamının desteklediği (veya ileride destekleyeceği) seçenekler
  • Standart Olmayan Seçenekler (Non-Standard Options) : Java HotSpot VM'in sağladığı ek olarak sağlanan seçenekler
    • -X ile başlayan : Tüm JVM için garanti edilmeyen veya daha sonraki JDK versiyonlarında haber vermeden değiştirilebilen özelliklerdir
    • -XX ile başlayan : Kalıcı (stable) değildir ve haber verilmeden ileride değişebilir. Kullanılması ancak uzmanlar için tavsiye edilir
Java uygulama çalıştırıcısı için client veya server seçeneği bulunmaktadır:
  • -client : Çalıştırma ortamının sunucu değil istemci sınıfından bir makine (Java HotSpot Client Virtual Machine) olduğunu belirtir. 64-bit JDK -client seçeneği dikkate alınmaz ve -server seçeneği geçerli olur. java -client şeklinde kullanılır.
  • -server : Çalıştırma ortamının server (sunucu) sınıfından bir makine (Java HotSpot Server Virtual Machine) olduğunu belirtir.

Java'da sistem özellikleri (işletim sisteminin özellikleri) -Dpropery_adi=değer şeklinde -D ile başlayan seçenek olarak verilebilmektedir. (Eğer değerde boşluk var ise -Dpropery_adi="değer ayri ifade" şeklinde tanımlanmaktadır). Örneğin -Duser.language=en şeklinde çalıştırma ortamına sistemin dili İngilizce olarak kabul etmesi sağlanabilir. -Duser.region=US şeklinde de çalıştırma ortamına sistemin bölgesi ABD olarak verilebilir.

Örnek

Java Örneği

Java yazım kuralları olarak C++ benzemektedir. C++ gibi Java da nesneye yönelik programlama dilidir. Nesneye yönelik programlama ileriki bölümlerde işlenecektir. C/C++ bilen bir programcı temel dil özelliklerinde (basit tipler, döngüler, akış kontrolleri, diziler vb.) hiç zorlanmayacaktır.

İlk Örnek : Hello World

Aşağıda Java ile yapılabilecek en basit uygulama bulunmaktadır. Bu örnek sadece ekrana (standart komut ekranı neresiyse oraya) Hello World yazacaktır.
public class HelloWorld {
    public static void main(String[] args){
        System.out.println("Hello World");
    }
}
Java'da her kod parçası bir Class'ın (Sınıfın) parçası olmak zorundadır. Yukarıda görüldüğü gibi public class HelloWorld satırı ile bir HelloWorld sınıfı tanımladık. Sınıfın içeriği { } arasına girilir. Sınıflar hakkında bilgi daha sonra geniş bir şekilde işlenecektir.
Java'da çalışan bir programın main yöntemi (main method) olmak zorundadır. Aşağıda gördüğünüz gibi main yöntemini sınıfa koymanız gerekmektedir.
public static void main(String[] args){ 
	
}
Bir program main yönteminin içinden başlar. main yöntemi bittiğinde program sona ermiş olur. public, static , yöntem (method) gibi kavramların ne anlama geldiğini ilerideki bölümlerde anlatacağız.
System.out.println() ifadesi standart komut satırı ekranına yazı yazmak için kullanılır. Bundan sonraki örneklerde sık sık kullanacağız.
Java'da bir main yöntemi bulunan, java.exe veya java.sh gibi bir programla bağımsız olarak çalıştırılabilen sınıflara Application (Uygulama) adı verilir. Bir uygulamaya dışarıdan girilip main yönteminde kullanılan değerlere Argument (Argüman) adı verilir. main(String[] args) şeklinde tanımlanan main yöntemindeki args değişkeni argümanları almak için kullanılmaktadır.

Yorum

Java'da kaynak koda eklenebilen yorum çeşitleri aşağıdaki gibidir :
  • Tek Satır Yorumu (Single-Line Comment) : Bir satırın başına // işaret ile yapılan yorum. // ile başlayan bir ifade yeni bir satıra kadar yorum olarak işlenir
  • Blok Yorumu (Block Comment) : Birden fazla satıra yapılan yorum. /* ile başlar ve */ ile biter
  • Javadoc Yorumu (Javadoc Comment) : Java kodlarına koyulan yorumlardan HTML belgeleri üretmeye yarayan javadoc aracı için koyulan yorumlar. /** ile başlar ve */ ile biter.

Javadoc, Java'da sınıfların içine geliştiricilere yardımcı olması amacıyla girilen yorumlardır. Yardım metinleri /** ile */ arasında girilmektedir. Bu yorumlardan javadoc komutu ile HTML üretilmektedir.

Bilgi/Açıklama

Akış Kontrolleri

Bir program satır satır ilerler. Bir programın belirli koşullara göre değişik kod satırlarının yürütmesi sağlanabilir. Veya belirli bir şart gerçekleşene kadar aynı kod parçasının yürütülmesini sağlayabilirsiniz. Bunun için her dil akış kontrolleri sağlar. If-else, while, do while, for, switch en çok kullanılan akış kontrolleridir.

If Else

Bir kodun belirli koşullar gerçekleştiğinde yapılması istendiğinde if else (ise-değilse) kullanılır. Eğer bir şart gerçekleşirse if içindeki kod, gerçekleşmez ise else içindeki kod yürütülür.
if(koşul){
  //koşul gerçekleşti
}else if(diğer koşul){
  // koşul gerçekleşmedi. Diğer koşul gerçekleşt
}else{
  //koşullardan hiç biri doğru değilse
}
Koşul bir boolean değer üreten bir ifade olmalıdır. Sonuç ya true ya da false'dur. Koşul karşılaştırma ile oluşturulabilir. Bunun için == eşit (equals), != eşit değil (not equals) , > büyük (greater) , >= büyük eşit (greater or equals), < küçük (less) , <= küçük eşit (less or equals) , ! değil (not) gibi ifadeler bir boolean değer üretirler. Örneğin a>b ifadesi eğer a b'den büyükse true değilse false üretir. Birden fazla koşul karşılaştırılabilir. || veya (or) için , && ve (and) olarak kullanılır. Örneğin koşul1 || koşul2 ifadesinde herhangi biri doğruysa sonuç doğrudur; koşul1&&koşul2 ifadesinde ise her iki koşul doğru ise sonuç doğrudur.
public class IfElseTest{
  public static void main(String[] args){
	//if else kullanılıyor
     if(true){
		System.out.println("true");
	}else{
     	System.out.println("false");
     }
     // if,else if , else kullanımı. 
     int a=0;
	if(a>5){
     	System.out.println("a 5 ten büyük");
     }else if(a==5){
     	System.out.println("a 5'e eşit");
     }else{
     	System.out.println("a 5'ten küçük");
     }
	boolean b=true;
     boolean c=false;
	// ==,!=,!,&&,|| kullanılıyor.
     if ( b == true ){
     	System.out.println("a true");
     }
     if ( b != true ){
     	System.out.println("b true değil");
     }
     if ( !b ) {
     	System.out.println("b true");
     }
     if ( b && c ){
     	System.out.println("b ve c true");
     }
     if ( b || c ){
            System.out.println("b veya c true");
     }
  }
}
Uygulama çalıştığında aşağıdaki gibi bir çıktı oluşur:
true
a 5'ten küçük
a true
b veya c true

Switch

If else gibi kullanılan diğer bir akış kontrol ifadesi switch (anahtar) sözcüğüdür.. Switch bir değişkenin değerine göre işlem yapmak istediğinde kullanılabilir.
public class SwitchTest {
  public static void main(String[] args){
    int a=4;
    switch(a){
      case 0:
        System.out.println("a 0");
        break;
      case 1:
		System.out.println("a 1");
           break;
      default :
        System.out.println("a 0 ve 1 değil");
    }
  }
}
Burada case (durum) sayi: ifadesi eğer değişken sayi değerinde ise buradan geçmesi demektir. Koddaki break (kır) ifadesi ile diğer koşullardan hiç geçmez ve switch'den çıkılır. Son olarak default (varsayılan) : eğer sayı hiçbir değere uymadı ise gerçekleşir.
Yukarıdaki uygulama çalıştığında ekranda aşağıdaki gibi bir çıktı oluşur
a 0 ve 1 değil
Java 7 ile birlikte switch'lerde sadece sayı değil String'de kullanılabilmektedir.

For

Akış kontrollerinden for (için) bir kodun belirli bir koşul gerçekleştiği sürece yapılması için kullanılır. Bir başlangıç verilir. Döngüyü devam ettirme koşulu verilir. Ve her işlemde yapılacak bir ifade verilir. Koşul gerçekleşmezse döngü sonlanır.
for( başlangıç; koşul; ifade ){
	//for içindeki kod 
}
Genellikle başlangıçta bir değişken yaratılır ve başlangıç değeri verilir. Burada ifade'de ise bu değişken değiştirilir; koşul ise bu değişkenin değerine göre true veya false olur.
public class ForTest {
  public static void main(String[] args){
 
	//0'dan 4'e kadar ekrana basar
	for(int i=0;i<5;i++){
		System.out.println(i);
 	}
 	//6'dan 1'e kadar ekrana basar
  	for(int i=6;i>0;i--){
		System.out.println(i);
  	}
  }
}
Yukarıdaki ilk for'da i=0''dan 4 olana kadar ekrana i değerleri yazılmaktadır. i++ ile i değeri her işlemde bir arttırılır. İkinci for ise aynı işlemin tersten yapılmasıdır.
Uygulama çalıştığında aşağıdaki gibi bir çıktı oluşur :
0
1
2
3
4
6
5
4
3
2
1

While & Do While

Akış kontrollerinden while (sürece), for döngüsüne benzemektedir. Ancak sadece koşul vardır ve koşulun değerleri kodun içinde değiştirilir.
while ( koşul ) {
  //koşul doğru olduğu sürece devam edecek.
}
Akış kontrollerinden do while (yap-sürece) de ise önce kod yürütülür sonra koşul kontrol edilir. Bu genellikle ilk başta koşul bilinmiyorsa yapılır.
do{
  //koşul doğru olduğu sürece devam edecek
} while (koşul);
Koşul değerinin değişmesi { ve } içinde bir yerlerde yapılmak zorundadır. Eğer koşul değişmezse sonsuz döngü (infinite loop) oluşabilir.
public class WhileTest {
  public static void main(String[] args){
    int a=0;
    while(a<5){
      System.out.println(a);
      a++;
    }
    int b=0;
    do{
      System.out.println(b);
      b++;
    }while(b<5);
  }
}
Uygulama çalıştığında çıktısı aşağıdaki gibi olur :
0
1
2
3
4
0
1
2
3
4

Bilgi/Açıklama

Diziler

Temel Bilgiler

Bazen tek bir değişkende birden fazla değer tutmanız gerekebilir. Örneğin bir oyunda oyuncunun tüm skorlarını bir listede tutmanız gerekebilir. Tüm programlama dillerinde birden çok değeri saklamak için dizi (array) kullanılır. Dizideki bu değerlere bir index (sıra) ile erişilebilir veya değerleri değiştirilebilir. Dizilerde iki önemli kural vardır.
  • Dizilerin boyutları daha sonradan değiştirilemez. Örneğin 10 elemanlı bir dizi yarattıysanız her zaman 10 elemanlı olmak zorundadır.
  • Dizilerin tuttuğu değerler aynı tip olmak zorundadırlar. Örneğin bir int dizisi yarattıysanız boolean bir değer veremezsiniz.
Bir dizi yaratılırken başlangıçta elemanları verilebilir veya sadece boyutu verilip elemanları daha sonradan atanabilir. Bir dizi elemanlarına index değeri ile erişilir. Diziadi[index] şeklinde bir dizinin elemanı alınabilir. Bir dizinin boyu length ile alınabilir.
public class ArrayTest {
  public static void main(String[] args){
    // 5 elemanlı bir dizi tanımlanıyor.
    int[] a={1,2,3,4,5};
    // 3 elemanlı dizi tanımlanıp , 
    // elamanları set ediliyor.
    int[] b=new int[3];
    b[0]=1;
    b[1]=2;
    b[2]=3;
        
    int c=b[1];
    System.out.println(c);// 2
    //b dizisini boyu ekrana basılıyor.
    System.out.println(b.length); //3
    // a dizisinin tüm elemanları 
    // ekrana basılıyor.
    for(int i=0;i<a.length;i++){
      System.out.println(a[i]);
    }
  }
}
Yukarıdaki örnekte iki dizi yaratıyoruz. b dizisinin elemanlarını daha sonradan veriyoruz. En son for döngüsü ile a dizisinin tüm elemanlarını ekrana bastırıyoruz. Çıktı aşağıdaki gibi oluşur :
2
3
1
2
3
4
5
Aşağıdaki örnek bir int dizisinin elemanlarının toplamını bulup ekrana basmaktadır. Ekrana 15 sayısını basacaktır.
//Bir dizinin elemanlarını toplayan örnek
public class ArraySum {
  public static void main(String[] args){
    int[] a={1,2,3,4,5};
    int sum=0;
    for(int i=0;i<a.length;i++){
      sum+=a[i];
    }
    System.out.println(sum);
  }
}

Çok Boyutlu Diziler

Bir dizinin elemanları da bir dizi ise buna çok boyutlu dizi (multi-dimensional array) denir. Çok boyutlu diziler dizilerin dizisi olarak düşünülebilir.
int[][] a={ {1,2,3}, {5,7}, {1} };
Yukarıda bir a dizisi yarattık. a dizisinin elamanları da bir dizidir. a[index] ile index'teki dizi alınabilir. a[index][index2] ile index'te bulunan dizinin index2 deki elemanını almış olursunuz.
public class ArrayMultiDimension {
  public static void main(String[] args){
	//3 elemanlı dizi yaratılıyor. 
     int[][] a={{1,2},{3,4,5},{10}};
     int e=a[1][1];
     System.out.println(e); // 4
     int[] b=a[0];
     int length=a[1].length;
     System.out.println(length); //
     int c=a[1][2];
     System.out.println(c);  //5    
     // a dizisi içindeki tüm 
		değerler bastırılıyor.
     for(int i=0;i<a.length;i++){
       for(int j=0;j<a[i].length;j++){
       	System.out.println(a[i][j]); 
       }
 	}
  }
}
Yukarıda çok boyutlu bir dizi yaratıyoruz. En son tüm elemanları içi içe iki döngü ile ekrana bastırıyoruz. Uygulamanın çıktısı aşağıdaki gibidir :
4
3
5
1
2
3
4
5
10




Bu Sayfayı Paylaş:

İletişim/Bize Yazın   mh@fibiler.com   Google+   Facebook   Twitter   fibiler@googlegroups.com
Her Hakkı Saklıdır
Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir.
Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir