Java. Mustafa OF. Kocaeli Üniversitesi Kocaeli Meslek Yüksekokulu (Mart 2007)
|
|
- Soner Okyar
- 8 yıl önce
- İzleme sayısı:
Transkript
1 Java Mustafa OF Kocaeli Üniversitesi Kocaeli Meslek Yüksekokulu (Mart 2007)
2 Main Metod'u Java'da yapılabilecek en basit program ekrana yazı yazan bir application'dur. public class selam public static void main(string[] args) System.out.println("Merhaba Dunya!"); Basit bir işlem gerçekleştirmesine rağmen bu class, bir Java class'ı ve application'u hakkında bir çok bilgi içermektedir. Java'da her birim bir class olmak zorundadır. Bağımsız değişken veya function yoktur. Her değişken veya function mutlaka bir class'ın içinde yer alır. Her application aslında özel bazı koşullara sahip bir class'dır. Bir class'ın application olabilmesi için gerekli koşul public static void main(string[] args) diye bir metodunun olmasıdır. Java bir class'ı uygulama olarak çalıştıracağı zaman, o class'ın main() metodunu bulur ve oradan itibaren çalıştırır. Bu metot yukarıdaki şekliyle aynen bulunmalıdır yoksa Java bu class'ın bir program olduğunu anlayamaz. Ekrana yazı yazmak için System.out.println() şeklinde bir ifade kullanılır. Bu, System adlı class'ın out adlı property'sinin println() adlı metodunu çağırmak demektir. System class'ı uygulamanın çalıştığı ortamla ilişkili bazı property'ler ve metotlar barındırır. Ekrana yazmak için out adlı bir property'si bulunmaktadır. println() metodu da ekrana bir yazı yazıp yeni bire satıra geçer, yani bir satırlık yazı yazar. Görüldüğü gibi Java'da basit bir application yazmak için bile (selam örneğinde olduğu gibi) bir class yapmak gerekir. Ekrana yazı yazmak için bile bir classın (System'in ) bir property'sinin (out'un) bir metodunun (println()'in) çağırılması gerekmektedir. En basit application için bunları yapmak gerekiyorsa Java'nın çok zor ve öğrenilemez olduğu düşünülebilir. Ancak en karmaşık application'larda da sadece bu ve benzer işlemler yapılır. Sadece class, property ve metot isimleri ve işlevleri değişir. Değişken Kullanımı Selam class'ıyla aynı işlevi yapan bir başka class yazalım. public class degiskenliselam public static void main(string[] args) String mesaj="merhaba Dunya!"; System.out.println(mesaj);
3 Bu class ekrana yine aynı mesajı yazacaktır. Ancak bu kez ekrana yazılacak yazı önce bir değişkende saklanıyor, sonra ekrana basılmak üzere println()'e veriliyor. Java'da değişken bu şekilde yapılır : DeğişkenTipi değişkenismi=değeri; DeğişkenTipi, bir değişkenin nasıl bir veri sakladığını gösterir. Java'da bir değişkenin mutlaka DeğişkenTipi'nin belli olması gerekir. String mesaj="merhaba Dunya!"; Şeklinde bir ifade de "mesaj diye bir değişken var, bunun değişken tipi String'dir ve ilk değeri 'Merhaba Dünya!'dır" demektir. String bir class'dır ve içerisinde karakter barındırır. Metot Kullanımı Yine aynı şeyi yapan bir class yapalım. Ancak ekrana bir satır basan bir metot kullanarak yapalım. public class metodlaselam public static void yaziyazdir(string yazi) System.out.println(yazi); public static void main(string[] args) yaziyazdir("merhaba Dunya!"); yaziyazdir() metodunun işlevi kendisine verilen String'i ekrana basmaktır. main() metodunda da yaziyazdir() metodu çağırılmaktadır. Bir metod bir kez yazıldıktan sonra defalarca kullanılabilir. public class metodlaselam public static void yaziyazdir(string yazi) System.out.println(yazi); public static void main(string[] args) yaziyazdir("merhaba Dünya!"); yaziyazdir("merhaba Güneş!"); yaziyazdir("merhaba Ay!"); Metod tanımlamak şu şekilde olur :
4 DönüşTipi metodismi(paramteretipi1 parametre1, ParamtereTipi1 parametre1) Burada her metodun alacağı parameter'lar ve return edilecek değerin tipi belirtilir. Eğer dönülecek hiç bir değer yoksa dönüş tipi olarak void yazılır. Birden Fazla Metot Kullanımı Aynı class içince birden fazla metod yazılabilir. Bunlar gerektiğinde birbirlerini çağırabilir. // ciftmetodluselam.java public class ciftmetodluselam public static void yaziyazdir(string yazi) System.out.println(yazi); public static void selamyazdir(string isim) yaziyazdir("merhaba "+ isim); public static void selamyazdir2(string selamturu, String isim) yaziyazdir(selamturu + " " + isim); public static void main(string[] args) selamyazdir2("merhaba","dünya!"); Not: Türkçe karakterin ( ü ) doğru yazılmadığına dikkat ediniz. Bunu gidermek için Unicode karakterler kullanılabilir. ( İki string tipini birleştirmek için '+' operatorü kullanılır. Tamsayılar için toplama anlamına gelen '+', Stringler için birleştirme anlamına gelir. 1+2 işleminin sonucu 3 ederken "1"+"2" işleminin sonucu "12" eder. Class Kullanımı Bir class yapalım ama bu class bir application olmasın. Bu sadece başka bir uygulamaya hizmet verecek bir class olsun. Yukarıda yaptığımız örneği kullanabiliriz. //metodlaselam.java public class metodlaselam public static void yaziyazdir(string yazi) System.out.println(yazi); public static void selamyazdir(string isim)
5 yaziyazdir("merhaba "+ isim); Şimdi de metodlaselam adlı class'ı kullanan bir application yapalım. //classileselam.java public class classileselam public static void main(string[] args) metodlaselam.selamyazdir("hayat"); Burada iki class'ın işbirliği sözkonusu. metodlaselam ekrana bir selamlama basabiliyor. classileselam ise bu class'ı kullanarak "Merhaba Hayat" diyebiliyor. Aynı şekilde bir başka application da bu class'ı kullanabilir. //classileselam1.java public class classileselam1 public static void main(string[] args) metodlaselam.yaziyazdir("java Programlama Dili"); Bir class yapmanın avantajı, bir işlemi bir kere yapmak, bir daha da oradan kullanmaktır. metodlaselam'da bir değişiklik yapma ihtiyacı duyarsak öbür class'lar otomatik olarak duruma adapte olacaktır. Örneğin, metodlaselam.selamyazdir()'ı public static void selamyazdir(string isim) yaziyazdir("merhaba "+ isim + "!"); şeklinde değiştirelim. İki uygulama da çalışınca selamlamayı sonunda ünlem işareti ile yapacaktır. Parametre Kullanımı Programda görüldüğü gibi sadece "Merhaba diyebilmektedir. Bunu kullanan classlardan birinin "Ne Haber?" deme hakkı yoktur. Bunun için başka bir class yapalım :
6 // metodlaselam1.java public class metodlaselam1 public static void yaziyazdir(string yazi) System.out.println(yazi); public static void selamyazdir(string selamlanan,string selamturu ) yaziyazdir(selamturu+ " " + selamlanan + "!" ); Yukarıdaki class ı aşağıdaki gibi kullanabiliriz. //classileselam2.java public class classileselam2 public static void main(string[] args) metodlaselam1.selamyazdir("eren","merhaba"); metodlaselam1.selamyazdir("eren","ne Haber"); Sonuç : Aynı İsimli Birden Fazla Metot Yazmak : Overloading İki kullanımda da mutlaka Merhaba veya Ne Haber diye bir selamlama verilmelidir. Oysa aksi belirtilmediği sürece "Merhaba" demesi sağlanabilir. Varsayılan değer olarak Merhaba değeri çıkartılabilir. //metodlaselam2.java public class metodlaselam2 public static void yaziyazdir(string yazi) System.out.println(yazi); public static void selamyazdir(string selamlanan,string selamturu ) yaziyazdir(selamturu+ " " + selamlanan + "!" ); public static void selamyazdir(string selamlanan) selamyazdir(selamlanan,"merhaba"); Bu şekilde benzer işlevi gören aynı adlı iki metod iki farklı şekilde kullanılabilir. //classileselam3.java public class classileselam3 public static void main(string[] args) metodlaselam2.selamyazdir("eren","ne Haber"); metodlaselam2.selamyazdir("eren");
7 İkinci durumda biz söylemesek de "Merhaba" diyecektir. Buna overloading denir. İkinci bir versiyon yazarak selamyazdir()'ı overload etmiş olduk. Nesne (Object) Oluşturmak Diyelim ki aynı metod, parametrelerden'lerden biri hep aynı olmak üzere çok defa çağrılıyor. metodlaselam2.selamyazdir("eren","ne Haber"); metodlaselam2.selamyazdir("nihan","ne Haber"); metodlaselam2.selamyazdir("funda","ne Haber"); metodlaselam2.selamyazdir("celal","ne Haber"); görüldüğü gibi gereksiz yere "Ne Haber" parametresi sürekli giriliyor. Çünkü bu class'a şöyle diyemiyorsunuz. "Ne Haber" selamlamasını aklında tut. Sonra da aynı selamlamayı Nihan, Funda gibi isimle kullan. Oysa Java'da bunu yapmak mümkündür. Bunun için class şu şekide olmalıdır. //metodlaselam4.java public class metodlaselam4 String selamturu; public void selamyazdir(string selamlanan) System.out.println(selamturu+ " "+ selamlanan + "!" ); Kullanımı da şöyle olacaktır. //classileselam4.java public class classileselam4 public static void main(string[] args) metodlaselam4 yazdirilan=new metodlaselam4(); yazdirilan.selamturu="ne Haber"; yazdirilan.selamyazdir("eren"); yazdirilan.selamyazdir("nihan"); yazdirilan.selamyazdir("funda"); yazdirilan.selamyazdir("celal"); Dikkat ettiyseniz selamyazdir() metodunun başında static yazmıyor. static keyword'u metodlar için kullanıldığında, ilgili metod, bu class'tan bir nesne yaratılmaksızın kullanılabilir
8 demektir. Ancak bu durum kullanacağı veriyi dışardan her sefer alan metod'lar için geçerlidir. O yüzden metodlaselam4.selamyazdir("eren","ne Haber") ifadesinde "Ne Haber" selamlamasını sürekli girmek zorundayız. Bunun nedeni bu classından hiç nesne yaratılmamış olması ve veri tutma yeteneğinizin olmamasıdır. metodlaselam4 ise yaratılabilir ve selamturu değerini saklayabilir. Bir nesne içerisinde değer saklayabilen yapıya property denir. Kullanımı da object.property biçimindedir. Bir nesne oluşturmak için Classismi Nesne=new Classismi(); gibi bir ifadeye gerek vardır. metodlaselam4 yazdirilan=new metodlaselam4(); gibi. Bu class'da selamturu bir property'dir. Selamyazdir() metodunun her çağrılışında selamturu property'sinin değeri kullanılır. Bu property bir kez atandı diye bir daha değişmez durumda değildir. İstenirse tekrar değiştirilebilir. Classileselam4.java dosyasını aşağıdaki gibi değiştirirsek; //classileselam4.java public class classileselam4 public static void main(string[] args) metodlaselam4 yazdirilan=new metodlaselam4(); yazdirilan.selamturu="ne Haber"; yazdirilan.selamyazdir("eren"); yazdirilan.selamyazdir("nihan"); yazdirilan.selamyazdir("funda"); yazdirilan.selamyazdir("celal"); yazdirilan.selamturu="merhaba"; yazdirilan.selamyazdir("eren"); yazdirilan.selamyazdir("nihan"); yazdirilan.selamyazdir("funda"); yazdirilan.selamyazdir("celal"); biçiminde selamturu değeri değiştirilebilir. Değiştikten sonra ekranda görülen selamlama da değişir. Bunun için object'i tekrar yaramaya gerek de yoktur. Metodlaselam4 classında selamturu property'si tanımlanırken default bir değer verilebilir. String selamturu="merhaba"; O zaman en başta bir değer atamadan da kullanılabilir. Komut Satırı Argümanları Bir Java application'unda dışarıdan argument alınması mümkündür. Bu şekilde application'un duruma göre değişik çalıştırılabilmesi, application'u değiştirmeden mümkün olur. Normal şartlar altında bir application'un çalışması için komut satırından java Classismi
9 girilmesi gerekir. Ancak argument verilmesi durumunda java Classismi Argument0 Argument1... biçiminde kullanılır. Bu argument'ler main metod'una args[] array'i olarak verilir. main() metodunun public static void main(string[] args) biçiminde tanımlanmasının nedeni budur. Programın içinden argument'lara public static void main(string[] args) String arg0=args[0]; String arg1=args[1]; biçiminde erişilebilir. Dışarıdan aldığı isme selam veren bir application yazalım. public class argumanlaselam public static void main(string[] args) String selamlanan=args[0]; System.out.println("Merhaba "+selamlanan); Bu uygulamayı çalıştırırken java argumanlaselam Eren girersek ekrana "Merhaba Eren" yazar. Yani bizim application'umuzu kullanan kişi istediği değeri girebilir, istediği selamı ekrana çıkarabilir. Elbette biz bunu programın içinde de yapabilirdik. Ancak bu durumda her değişiklikte yeniden program yazmamız veya her sefer kodu değişitirip derlememiz gerekirdi. Oysa bir uygulama bir kez yazıldıktan sonra başka bir yerde hatta başka bir ülkedeki insanlar tarafından kullanılabilir olmalıdır. Her değişiklikte application'u yeniden yazmak çoğu kez mümkün olmaz. Argümanların Kontrolü Yukarıdaki uygulama çalıştırılırken argument vermek unutulursa hata uyarısı alınır. Çünkü uygulama mutlaka neyi selamlayacağının girilmesini istemektedir. Bu hatadan kurtulmak için kullanıcının bir değer girip girmediği kontrol edilebilir. // argumanlaselamkontrol.java public class argumanlaselamkontrol public static void main(string[] args) if(args.length==1) String selamlanan=args[0];
10 System.out.println("Merhaba "+selamlanan); Uygulamaya argument girilmemesi durumunda sadece hata vermemesi değil, kullanıcıya bir uyarı mesajı vermesi daha uygun olur. // argselamuyari.java public class argselamuyari public static void main(string[] args) if(args.length==1) String selamlanan=args[0]; System.out.println("Merhaba "+selamlanan); else System.out.println("Selam verilecek ismi vermeyi unutmayın"); System.exit(0); Genellikle application'lar bu durumda girilecek argument'ler hakkında bilgi veren bir yazıyı ekrana basarlar ve programdan çıkarlar. Programdan çıkmak, yani application'un çalışmasını kesmek için yukarıdaki programda kullanıldığı gibi System.exit() metodu kullanılır.exit metoduna '0' girmenin anlamı, programın doğal olarak, programcı tarafından durdurulduğunu göstermektir. Bir hata olduğunu belirtmek için 0 dışında bir değer, örneğin '1' girilebilir. Bir application'un, belli bir argument'in girilmemesi durumunda da varsayılan (default) değerle çalışması sağlanabilir. // argselamvarsayilan.java public class argselamvarsayilan public static void main(string[] args) String selamlanan; if(args.length==1) selamlanan=args[0]; else selamlanan="eren"; System.out.println("Merhaba "+selamlanan); Bu application java argselamvarsayilan Eren diye de çağrılabilir, java argselamvarsayilan şeklinde de. İkinci durumda "Merhaba Eren" yazacak ve hata vermeyecektir.
11 Değişkenler ve Tipler Tip kavramı Java'da her değişkenin belli bir type (tip)'i olması gereklidir. Tip, değişkenin nasıl bir veri taşıdığını ve onun üzerinde ne gibi operasyonlar yapabileceğimizi belirler. Değişkenin type'ı tamsayıysa çıkarma yapabilirsiniz, String ise yapamazsınız. Java yapılan işlemlerde kullanılan değerlerin tiplerine son derece dikkat eder. Herhangi bir tip uyumsuzluğunda derleme hatası gelir. İki sayıyı toplayıp sonucu ekrana basan bir application yapalım. //toplama1.java public class toplama1 public static void main(string[] args) int a=200; int b=100; int toplam; toplam=a+b; System.out.println("a ve b'nin Toplamı : "+toplam); Bu application'da int a=200; ifadesi bir değişkenin declaration'unu içerir. Tanımlama şu biçimde yapılabilir. DeğişkenTipi Değişken=İlkDeğeri; Elbette bu declaration değişkenin ilk değerinin belli olması durumunda kullanılır. İlk değerin daha sonra belli olması durumunda declaration DeğişkenTipi Değişken; biçiminde yapılır. Toplamın sonucu baştan bilinmediği için önce int toplam; biçiminde declaration yapılabilmiştir. Değeri daha sonra bir işlem sonucunda belli olacaktır. toplam=a+b; Buradaki iki satırı tek satır olarak yazmak da mümkündür int toplam=a+b; Bu durumda tanımlama ve işlem aynı ifade içerisinde yer almış olmaktadır.
12 Class Tipler Java'da temel olarak iki çeşit type vardır : primitive type'lar ve class type'ları. Örneğin int primitive type'tır. String'de bir class type'ıdır. İki String type'ındaki veriyi birleştirmek istersek yine + kullanılır. Ancak işlem bu kez toplama değil birleştirme olur. //stringbirlesme.java public class stringbirlesme public static void main(string[] args) String a="200"; String b="100"; String birlesim; birlesim=a+b; System.out.println("Birleştirilmiş String :" + birlesim); Bu uygulama değeri "200" olan String type'ındaki a ile değeri "100" olan String tipindeki b değişkenini birleştirir. Sonu yine bir String'tir ve "200100"dür. Görüldüğü gibi değişkenlerin tipi işlemlerin nasıl yapılacağını belirlemektedir. int tipindeki bir değişken int a=200; şeklinde tanımlanırken String tipindeki a String a="200"; biçiminde tanımlandı. String değerleri belirtmek için çift tırnak kullanılır. Primitive (ilkel) Tipler Primitive type'lar tamsayı, gerçek sayı, mantıksal ve karakter tiplerdir. Tamsayı tipleri, alabilecekleri maksimum ve minimum değerlerin sırasına göre byte, short, int, long'dur. Gerçek sayılar float ve ondan daha büyük değerleri alan double'dır. Tip olarak boolean sadece true ve false gibi iki değer alır. char tipi de harf,rakam ve noktalama işaretleri gibi karakterleri tutabilir. //primitivetipler.java public class primitivetipler public static void main(string[] args) int i=50000; short s=500; long l=5l; byte b=3; float f=2.5f; double d=3.5; char c='k';
13 boolean x=true; System.out.println(" Integer : " + i ); System.out.println(" Short: "+ s ); System.out.println(" Long: "+ l ); System.out.println(" Byte : "+b ); System.out.println(" Float : "+ f ); System.out.println(" Double : "+ d ); System.out.println(" Char : "+c ); System.out.println(" Boolean : "+ x ); Primitive Tipler Değişken Açıklama Tip Adı int 32-bit (4-byte) integer değişken tipi- ( ) short 16-bit (2-byte) integer değişken tipi ( ) long 64-bit (8-byte) integer değişken tipi (-9 Trilyon Trilyon) byte 8-bit (1-byte) integer değişken tipi ( ) float 32-bit (4-byte) floating-point değişken tipi. ( ) 6 veya 7 Dijit double 64-bit (8-byte) floating-point değişken tipi. ( ) 15 dijit char 16-bit Unicode karakter şemasını kullanan karakter değişken tipi boolean true veya false değerini kullanan mantıksal değişken tipi Primitive tiplerle ilgili consoldan bilgi alma işlemine ait örneği aşağıda bulabilirsiniz.bu örnekte primitive tip olmayan String class tipi de kullanılmıştır. Ayrıca klavyeden veri almak için Scanner Class ı kullanılmıştır ve bu Class Java 1.5 versiyonu ile gelen yeni bir class dır. //primitivetipleralma.java import java.util.scanner; public class primitivetipleralma public static void main(string[] args) Scanner alinan = new Scanner(System.in); int i; short s; long l; byte b; float f; double d; boolean mantiksal=true; String yazi; //String primitive tip değil class tiptir.
14 System.out.print("Bir Yazi Giriniz :"); yazi=alinan.nextline(); System.out.print("Integer Sayi Giriniz:"); i=alinan.nextint(); System.out.print("Short Sayi Giriniz:"); s=alinan.nextshort(); System.out.print("Long Sayi Giriniz:"); l=alinan.nextlong(); System.out.print("Byte : "); b=alinan.nextbyte(); System.out.print("Float : "); f=alinan.nextfloat(); System.out.print("Double : "); d=alinan.nextdouble(); System.out.print("Boolean : "); mantiksal=alinan.nextboolean(); System.out.print("Girilen Bilgiler\n" + "Yazi :"+ yazi +"\n"+ "Integer :" + i + "\n"+ "Short :" + s + "\n"+ "Long :" + l + "\n"+ "Byte :" + b + "\n"+ "Float :" + f + "\n"+ "Double :" + d + "\n"+ "Boolean :" + mantiksal + "\n"); Tamsayı Tipler (Integer); int tamsayi1; long uzuntamsayi; tamsayi1= 550;
15 uzuntamsayi = tamsayi1; Gerçek Sayı Tipleri (Floating Point); double sure=120.0; float deger1 = F; double deger2 = D; double deger3 = 6.10e+16; double deger4 = 135e-7; Aritmetik Operatörler Operatör Açıklama + Toplama - Çıkarma * Çarpma / Bölme % Kalanı Bulma ++ Arttırma -- Azaltma //aritmetikop.java public class aritmetikop public static void main(string[] args) int a = 21, b = 6; int c = a + b; int d = a - b; int e = a * b; int f = a / b; int g = a % b; int h; int j=5; int k=j--; h=15; h+=a; //h+=a -->h=h+a, h-=a-->h=h-a //h*=a -->h=h*a, h/=a-->h=h/a, h%=a-->h=h%a; a++; b--; System.out.println("a:" + a ); System.out.println("b:" + b ); System.out.println("c:" + c ); System.out.println("d:" + d ); System.out.println("e:" + e ); System.out.println("f:" + f ); System.out.println("g:" + g ); System.out.println("h: h=h+a:" + h ); System.out.println("j:" + j + " k:" + k );
16 Aritmetik Aktarma Operatörleri Arttırma Op. Açıklama += Toplama ve aktarma -= Çıkarma ve aktarma *= Çarpma ve aktarma /= Bölme ve aktarma %= Kalanı Bulma ve aktarma h+=a; h-=a; h*=a; h/=a; h%=a; int j = 5; int k = j--; int j=5; int k=--j -->h=h+a -->h=h-a -->h=h*a -->h=h/a -->h=h%a //j=4, k=5 değerini alır. //j=4, k=4 değerini alır. = aktarma operatörü; a = (b = 3) * b; //a = 9, b= 3 değerini alır. a = b = c = 3; //a=3, b=3, c=3 değerini alır. Gerçek sayılarla yapılan bazı aritmetik işlemler; double x = 5.5, y = 2.0; double m = x + y; // m, 7.5 olur double n = x - y; // n,3.5 olur double o = x * y; // o,11.0 olur double p = x / y; // p, 2.75 olur double q = x % y; // q, 1.5 olur x++; // x,6.5 oldu y--; // y, 1.0 oldu int a = 21, b = 6;
17 double deger1 = a / b; int a = 21, b = 6; double deger1 = (double) a / b; // deger1 = 3.0 olur. Çünkü her iki değişken de tamsayıdır ve bölüm buna göre yapılır. //deger1 = 3.5 olur. Çünkü sonucun double olması isteniyor. Char Tipi; char karakter = A ; char karakter = A ; Yanlış Kullanım Char tipinde çift tırnak ( ) tek tırnak ( )kullanılır Escape (Kaçış) Karakterleri Escape Karakteri Açıklama \b Backspace \t Yatay Tab \n Satır Atlatma \f Form Atlatma \r Enter \ Çift Tırnak \ Tek Tırnak \\ Ters Slaş Mantıksal Tip (Boolean); Mantıksal tip true veya false değerinden meydana gelir. boolean sonuc = true; boolean cevap = false; Array'ler (Diziler) Birden fazla veriyi sıralı olarak saklamak istdiğimizde ve bu verilere aynı isimle bir eleman numarası belirterek erişmek istediğimizde dizileri kullanabiliriz. Dizileri kullanmadan önce deklare etmemiz gerekmektedir. Dizileri tek boyutlu tanıtabildiğimiz gibi birden fazla boyutla da tanımlayabiliriz. Şu şekilde deklare edebiliriz; tipismi[ ] diziadi=new tipismi[uzunluğu]; Örneğin 10 elemanlı bir int dizisi int[ ] a=new int[10]; şeklinde tanımlanır.
18 Dizinin bir elemanına erişim işlemi için dizinin adı ve parantezler içerisinde eleman numarasını belirtmemiz gerekir. a[3]=7; int x=a[5]; //a dizisinin 3 nolu elemanına 7 değeri aktarıldı. //a dizisinin 5 nolu elemanındaki değeri x değişkenine aktarıldı. String[ ] isimler; //String türünde isimler adında bir dizi tanımlandı. int[ ] dizi1; //int türünde dizi1 adında bir dizi tanımlandı. int dizi2[ ]; //int türünde dizi2 adında bir dizi tanımlandı. String[ ] isimler; isimler = new String[10]; //10 elemanlı String türünde isimler adında bir dizi tanımlandı. String[ ] isimler = new String[10]; //10 elemanlı String türünde isimler adında bir dizi tanımlandı. System.out.println( Personel Sayısı? ); int adet = alinan.nextint(); //alinan Scanner nesnesi ile alındı String[] personel = new String[adet]; String[] gunler = new Array[7]; gunler[0] = Pazartesi ; gunler[1] = Salı ; gunler[2] = Çarşamba ; gunler[3] = Perşembe ; gunler[4] = Cuma ; gunler[5] = Cumartesi ; gunler[6] = Pazar ; String türünde gunler isimli 7 elemanlı bir dizi tanımlandı ve ilk değerleri atandı. Aynı aktarma işlemini şu şekilde de yapabiliriz. String[ ] gunler = Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi, Pazar int[ ] sayilar = 3,5,6,2,7,34,88 ; veya int[ ] sayilar = new int[ ] 3,5,6,2,7,34,88 ; Dizilerle döngü kullanımı; //diziler1.java public class diziler1 public static void main(string[] args) int i; int[ ] sayilar = new int[200]; for (i = 0; i < sayilar.length; i++) sayilar[i] = (int)(math.random() * 100) + 1;
19 System.out.print(sayilar[i]+"-"); Sayilar dizisindeki 1 den 10 a kadar sayıların toplamını bulan örnek; //dizidegerleritoplami.java public class dizidegerleritoplami public static void main(string[ ] args) int[ ] sayilar=new int[ ]1,2,3,4,5,6,7,8,9,10 ; int toplam=0; for(int i=0;i<sayilar.length;i++) toplam+=sayilar[i]; System.out.println("Sayilarin Toplami : "+ toplam); //dizidegeralma.java import java.util.scanner; public class dizidegeralma public static void main(string[ ] args) Scanner alinan = new Scanner(System.in); String[ ] personel = new String[10]; for (int i = 0; i < 10; i++) System.out.print(i+".Personelin Adini Giriniz :"); personel[i] = alinan.nextline(); System.out.println("\nGirilen Bilgiler\n"); for (int i = 0; i < 10; i++) System.out.println(i+".Personel:"+personel[i]);
20 Sonuç : Yukarıdaki örnekte personel dizisinin elemanlarını listelerken for döngüsünde başlangıç ve bitiş değerlerini belirtmemiz gereklidir. Bazı durumlarda dizinin bu bilgilerine sahip olmayabiliriz. Bu durumlarda daha farklı bir for döngüsü kullanabiliriz. Diziler için geliştirilmiş for döngüsü Kullanım şekli; (For döngüsünün bu kullanım şekli için JDK 1.5 gereklidir) for ( tipismi döngüdeğişkeni : dizi ) ifadeler; //dizigunler.java public class dizigunler public static void main(string[ ] args) String[ ] gunler = "Pazartesi", "Sali", "Carsamba", "Persembe", "Cuma","Cumartesi", "Pazar" ; System.out.println("Günler:\n"); for (String gun : gunler) System.out.println(gun);
21 Metodlarla dizi kullanımı; Aşağıdaki örnekte metod kullanarak dizi değerlerine ulaşılmaya çalışılıyor. //dizimetodla.java public class dizimetodla public static String[ ] gunlerigetir() String[ ] gunler = "Pazartesi", "Sali", "Carsamba", "Persembe", "Cuma","Cumartesi", "Pazar" ; return gunler; public static void diziyiyazdir(string[ ] elemanlar) for (String s : elemanlar) System.out.println(s); public static void main(string[ ] args) String[ ] gunler1 = gunlerigetir(); diziyiyazdir(gunler1); İki Boyutlu Dizi Kullanımı; İki boyutlu dizileri genellikle sütun ve satırlardan oluşan verileri depolamak için kullanırız. Örneğin aşağıdaki tabloyu dizi değişkenlere yerleştirmek için iki boyutlu diziler oldukça kullanışlı olacaktır.
22 Yıl Trabzon Ankara Van Manisa Satışlar Tablosu İki boyutlu bir diziyi deklare etmek için; double satislar[] []; boyutlarını ayarlamak için; satislar = new double[5] [4]; satislar iki boyutlu dizisinin uzunluğunu, satır kısmında 5 elemanlı, sütun kısmında 4 elemanlı olarak tanımladık. satislar iki boyutlu dizisinin toplam eleman sayısı 20 oldu (5 x 4) Yukarıdaki tanımlamayı tek satırda da yapabilirdik. double[] [] satislar = new double [5] [4]; İki boyutlu dizilere değer aktarma ve alma; satislar [0] [0] = ; deger = satislar [0] [0]; //deger değişkenine aktarıldı. Dizi tanımını yaptıktan sonra ilk değerlerini atama; double [][] satislar = ; , , , , // , , , , // , , , , // , , , , // , , , // 2005 //ikiboyutludizi1.java public class ikiboyutludizi1 public static void main(string[] args) double[][] satislar = , , , , // , , , , // , , , , // , , , , // , , , // 2005 ;
23 System.out.println("Satislar Tablosunun ilk degeri:"+satislar[0][0]); System.out.println("Satislar Tablosunun son degeri:"+satislar[4][3]); System.out.println("Tum Tablo"); System.out.println("Trabzon\tAnkara\tVan\tManisa"); for (int y = 0; y < 5; y++) for (int z = 0; z < 4; z++) System.out.print(satislar[y][z]); System.out.print("\t"); System.out.println(); İki boyutlu dizi kullanırken yukarıdaki gibi dikdörtgen şeklinde düzenli bir veri yapısı olması zorunlu değildir. Aşağıdaki gibi bir tabloyu da iki boyutlu bir diziye yerleştirebiliriz. Ekipler Üyeler A Celal Of, Kemal Ak B Mehmet Demir, Oktay Aslan, Cemil Ceyhan C Ercan Arpaz, Kerim Kal D Serpil Sivrikaya, Ahmet Eren, Nihan Cemre Ekip ve üyeleri tablosu //ikiboyutludizi2.java public class ikiboyutludizi2 public static void main(string[] args) String[][] ekipler = "Celal Of", "Kemal Ak", "Mehmet Demir", "Oktay Aslan", "Cemil Ceyhan", "Ercan Arpaz", "Kerim Kal", "Serpil Sivrikaya", "Ahmet Eren","Nihan Cemre" ; for (int i = 0; i < ekipler.length; i++) for (int j = 0; j < ekipler[i].length; j++)
24 System.out.println(ekipler[i][j]); System.out.println(); Yukarıdaki örneği geliştirilmiş for döngüsü ile şu şekilde değiştirebiliriz; //ikiboyutludizi21.java public class ikiboyutludizi21 public static void main(string[] args) String[][] ekipler = "Celal Of", "Kemal Ak", "Mehmet Demir", "Oktay Aslan", "Cemil Ceyhan", "Ercan Arpaz", "Kerim Kal", "Serpil Sivrikaya", "Ahmet Eren","Nihan Cemre" ; for (String[] ekipadi : ekipler) for (String uyeadi : ekipadi) System.out.println(uyeadi); System.out.println(); Java, dizilerin boyutunu iki boyutla sınırlama yapmaz. Bir diziyi iki boyuttan daha fazla da tanımlayabilirsiniz. int [][][] ucboyut = new [3][3][3]; ucboyut dizisi 3 boyutlu olarak tanımlandı. ucboyut [0] [1] [2] = 100; //ucboyut dizisinin 0,1,2. pozisyonuna 100 aktarıldı.
25 //ucboyutludizi1.java public class ucboyutludizi1 public static void main(string[] args) int[][][] ucboyut = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 ; System.out.println("Ucboyutlu Dizinin ilk degeri:"+ucboyut[0][0][0]); System.out.println("Ucboyutlu Dizinin son degeri:"+ucboyut[2][2][2]); for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) for (int k = 0; k < 3; k++) System.out.print(ucboyut[i][j][k]+"\t"); System.out.println(); Arrays Class ı; Dizi ile ilgili işlemlerinizde Array tipinin yanında gelişmiş bazı metodları bulunan Arrays Class ını da kullanabilirsiniz. Daha önce de bahsedildiği gibi Java da primitive tiplere ilave olarak ayrıca Class karşılıkları bulunmaktadır. Arrays Class ını kullanmaya başlamadan önce java.util.arrays kitaplığını eklemeniz gerekmektedir. (import java.util.arrays;) Arrays Class ına ait bazı metodlar Metot Açıklama static int binarysearch (dizi, aranan) dizi içerisinde aranan ı arar. Eğer bulursa index numarasını döndürür. Bulamazsa -1 değerini döndürür. boolean deepequals(dizi1,dizi2) İki diziyi birbiriyle kıyaslar. dizi1 ve dizi2 aynı elemanlara sahipse true değerini döndürür. Bu metod iki yada daha fazla boyutlu diziler için çalışır. boolean equals(dizi1,dizi2) İki diziyi birbiriyle kıyaslar. dizi1 ve dizi2 aynı elemanlara sahipse true değerini döndürür. Bu metod sadece tek boyutlu dizilerde çalışır. static void fill (dizi, değer) dizi yi verilen değer ile doldurur.değer, dizi ile aynı tipe sahip olmalıdır.
26 static void fill(dizi, başlangıç, bitiş, değer) static void sort(dizi) static void sort(dizi, başlangıç, bitiş) static String tostring(dizi) dizi yi başlangıç pozisyonundan bitiş pozisyonuna kadar değer ile doldurur. dizi yi küçükten büyüğe doğru sıralar. dizi nin başlangıç ve bitiş pozisyonları arasındaki elemanları küçükten büyüğe doğru sıralar. dizi değerlerini String olarak biçimlendirir. Diziye Değer doldurma; int[] sayilar = new int[10]; Arrays.fill(sayilar, 100); int[] rasgeledizi = new int[1000] Arrays.fill(rasgeledizi, (int)(math.random() * 100) + 1); Diziyi sıralama; int[] sayilar = new int[6]; for (int i = 0; i < 6; i++) sayilar [i] = (int) (Math.random() * 100) + 1; Arrays.sort(sayilar); Dizi içerisinde arama yapma; int aranan = 13; int bulunanyer = Arrays.binarySearch(sayilar, aranan); if (bulunanyer > -1) System.out.println( Sayı Bulundu ); else System.out.println( Sayı Bulunamadı ); Dizileri karşılaştırma; if (Arrays.equal(dizi1, dizi2)) System.out.println( Diziler Eşit ); Dizileri String e çevirme; int[] sayilar = new int[6]; for (int i = 0; i < 6; i++) sayilar[i] = (int) (Math.random() * 100) + 1; System.out.println(Arrays.toString(sayilar)); 10 elemanlı bir diziye 1 ile 100 arasında rasgele değerle dolduran program; //arrayfill1.java import java.util.arrays;
27 public class arrayfill1 public static void main(string[] args) int[] rasgeledizi = new int[10]; Arrays.fill(rasgeledizi,(int)(Math.random() * 100) + 1); for (int i=0;i<10;i++) System.out.println(i+":" + rasgeledizi[i]); 10 elemanlı sayılardan oluşan diziyi sıralayan program; //arraysort1.java import java.util.arrays; public class arraysort1 public static void main(string[] args) int[] sayilar =24,12,76,14,39,10,456,89,34,26; System.out.println("Siralanmamis Dizi"); for (int i=0;i<10;i++) System.out.println(i+".eleman:" + sayilar[i]); Arrays.sort(sayilar); //sayilar dizisi sıralanıyor System.out.println("Siralanmis Dizi"); for (int i=0;i<10;i++) System.out.println(i+".eleman:" + sayilar[i]);
28 ArrayList Class ı; ArrayList (Dizi Listesi), temel Java koleksiyon tiplerinden biridir. Dizilere erişim için farklı bir kullanım şekli sunar. Temel özellikleri; Bir ArrayList gerektiğinde otomatik olarak boyutlanabilir. Eğer 50 elemanlı bir dizi oluşturursanız ve 51. Elemana bir değer aktarılması durumunda kalırsanız bu diziyi kullanamayacaksınız ve yeniden 51 elemanlı yeni bir dizi tanıtmanız gerekecektir. Fakat ArrayList te buna gerek yoktur. ArrayList kullanırsanız bu diziye istediğiniz kadar değer aktarabilirsiniz. Eleman problemi yoktur. ArrayList, koleksiyonun ortasına bir eleman ilave etmeyi mümkün kılar. Örneğin 50 elemanlı bir normal dizi kullandığınızda tam ortasına yeni bir eleman araya yerleştirmek için bir kısım işlem gereklidir. Fakat ArrayList e bunu yapmak için sadece 25 nolu elemana şu değeri ilave et demeniz yeterlidir. ArrayList Class ı diziye yeni bir eleman ilave edildiğinde arka planda verileri tutmak için aktif olarak bir dizi kullanır. Diziye yeni bir eleman ilave ettiğinizde dizi dolu olacaktır. Fakat ArrayList Class ı otomatik olarak arka planda yeni bir dizi oluşturur ve önceki verileri ve yeni eklenen verileri bu yeni diziye olduğu gibi kopyalar. ArrayList Class ı, Java.util.ArrayList kütüphane paketi içerisindedir. Bu yüzden ArrayList Class ını kullanmak için programınıza Java.util.ArrayList kütüphanesini veya Java.util.* kütüphanesinin tamamını eklemeniz gerekmektedir. import java.util.arraylist; veya import java.util.*; satırını programınızın başına eklemelisiniz.
29 ArrayList() Yapıcı ArrayList(int kapasite) Arrays Class Yapıcıları Açıklama Başlangıç kapasite olarak 10 elemanlı bir ArrayList oluşturur. Kapasite ile belirtilmiş olan ArrayList i oluşturur. ArrayList Oluşturma; Bir ArrayList oluşturmak için ilgili kütüphaneyi (java.util.arraylist) programa ekledikten sonra aşağıdaki gibi oluşturabilirsiniz ArrayList isimler; isimler = new ArrayList(); veya ArrayList isimler = new ArrayList(); Yukarıdaki satırda kapasite belirtmeden ArrayList i oluşturduk. Kapasite belirtilmek istendiğinde ArrayList isimler = new ArrayList(100); 100 elemanlı bir ArrayList oluşturuldu. Eğer kapasite verilmezse varsayılan olarak 10 elemanlı bir ArrayList oluşturulur ve istenildiği kadar eleman eklenebilir. ArrayList boyutu otomatik olarak ayarlar. ArrayList<String> isimler = new ArrayList <String> (); Yukarıdaki satırda elemanlarının türü String olan bir ArrayList oluşturuldu. Bu şekilde tanıtmanın derleyicinin (Compiler) yanlış tipteki değerleri ayırması bakımından bir faydası bulunmaktadır. ArrayList e Eleman Ekleme; ArrayList isimler = new ArrayList(); isimler.add( Celal ); isimler.add( Ahmet ); isimler.add( Eren ); isimler.add( Kemal ); add metodu bir ArrayList e eleman eklemeyi sağlar. Ayrıca add metodu yardımıyla belirli bir pozisyona değer eklemeyi sağlar. ArrayList<String> borclular = new ArrayList<String>( ); borclular.add( Celal );
30 borclular.add( Ahmet ); borclular.add( Eren ); borclular.add( Kemal ); ArrayList sayilar = new ArrayList( ); sayilar.add(10); sayilar.add(20); sayilar.add(30); sayilar.add(40); sayilar.add (2,50); sayilar dizisi listelendiğinde değerleri görüntüler //add(2,50) komutu kullanıldı Elemanlara Erişme; ArrayList elemanlarına erişmek için get metodunu kullanabilirsiniz. Eleman numarasını vererek değerine ulaşabilirsiniz. for(int i=0;i<isimler.size();i++) System.out.println(isimler.get(i)); Celal Ahmet Eren Kemal Burada size metodu dizinin boyutunu yani toplam eleman sayısını vermektedir. Geliştirilmiş for döngüsü ile daha kolay bir şekilde diziyi listeleyebilirsiniz. for (String elemanlar:isimler) System.out.println(elemanlar); Celal Ahmet Eren Kemal for (String elemanlar:isimler)
31 int k= isimler.indexof(elemanlar); System.out.println("Eleman No:" + k + ":" + elemanlar); Eleman No:0:Celal Eleman No:1:Ahmet Eleman No:2:Eren Eleman No:3:Kemal indexof metodu ile elemanın index numarasını öğrenebiliriz. ArrayList<String> gunler=new ArrayList<String>(); gunler.add( Pazartesi ); gunler.add( Salı ); gunler.add( Çarşamba ); gunler.add( Perşembe ); gunler.add( Cuma ); gunler.add( Cumartesi ); gunler.add( Pazar ); System.out.println(gunler); [Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi, Pazar] ArrayList kullanımına yönelik bir örnek //arraylist1.java import java.util.arraylist; public class arraylist1 public static void main(string[] args) ArrayList isimler=new ArrayList(); ArrayList<String> bolumler=new ArrayList<String>(); ArrayList<Integer> tamsayilar=new ArrayList<Integer>(); isimler.add("ahmet"); isimler.add("eren"); isimler.add("nihan"); isimler.add("cemre"); isimler.add("celal"); bolumler.add("bilgisayar"); bolumler.add("elektrik"); bolumler.add("muhasebe"); bolumler.add("haberleşme"); tamsayilar.add(10); tamsayilar.add(20); tamsayilar.add(30);
32 tamsayilar.add(40); System.out.println("isimler listesinin ilk elemanı :" +isimler.get(0)); System.out.println("isimler listesinin son elemanı :" +isimler.get(isimler.size()-1)); isimler.set(0,"ali"); //0 nolu eleman değiştirildi. System.out.println("isimler dizi listesi :\n" + isimler); System.out.println("İsimler\n "); for(int i=0;i<isimler.size();i++) System.out.println("Eleman No :" + i + "-" + isimler.get(i)); System.out.println("\nBölümler\n "); for (String eleman:bolumler) System.out.println(eleman); int toplam=0; for(int j=0;j<tamsayilar.size();j++) toplam+=tamsayilar.get(j); double ortalama=toplam/tamsayilar.size(); System.out.println("Sayılar :"+tamsayilar+" Toplamı:"+toplam + " Ortalaması :"+ortalama); //Class sonu isimler listesinin ilk elemanı :Ahmet isimler listesinin son elemanı :Celal isimler dizi listesi : [Ali, Eren, Nihan, Cemre, Celal] İsimler Eleman No :Ali Eleman No :Eren Eleman No :Nihan Eleman No :Cemre Eleman No :Celal Bölümler Bilgisayar Elektrik Muhasebe Haberleşme Sayılar :[10, 20, 30, 40] Toplamı:100 Ortalaması :25.0
33 ArrayList Class ına ait bazı metodlar Metot Açıklama boolean add(object listeelemanı) listeelemanı değerini dizi listesine ilave eder. void add(int indexno, Object listeelamanı) listeelemanı değerini, indexno ile belirtilen yere yerleştirerek ilave eder. boolean addall(collection koleksiyon) koleksiyon ile belirtilen bir diziyi dizi listesinin sonuna ekler. boolean addall(int indexno, Collection koleksiyon ile belirtilen bir diziyi dizi koleksiyon) listesinin indexno pozisyonundan sonra ekler. void clear() Dizi listesinin tüm elemanlarını siler. boolean contains(object deger) deger ile verilen bilgiyi dizi listesinde arar eğer bulursa true değerini, aksi durumda false değerini döndürür. boolean containsall(collection koleksiyon ile verilen dizinin tamamını dizi koleksiyon) listesinde arar eğer bulursa true değerini, aksi durumda false değerini döndürür. void ensurecapacity(int kapasite) kapasite ile verilen değer ile dizi listesinin kapasitesini arttırır. Object get(int indexno) indexno ile verilen eleman numarasına denk gelen değeri döndürür. int indexof(object listeelemanı) listeelemanı ile belirtilen liste elemanının index numarasını sayısal olarak döndürür. Eğer -1 değerini döndürürse listeelemanı dizi listesinde bulunmamaktadır. boolean isempty() Eğer true değeri dönerse dizi listesi herhangi bir eleman içermemektedir. boolean remove(int indexno) boolean remove(object listeelemanı) boolean removeall(collection koleksiyon) boolean retainall(collection koleksiyon) Object set(int indexno, Object listeelemanı) int size() Object[] toarray() Object[] toarray(tip[] dizi) void trimtosize() indexno ile verilen pozisyondaki elemanı dizi listesinden kaldırır. listeelemanı ile verilen elemanı dizi listesinden kaldırır. Koleksiyon ile verilen diziyi tüm elemanları ile birlikte dizi listesinden kaldırır. Koleksiyon ile verilen dizinin haricindeki tüm elemanları dizi listesinden kaldırır. indexno ile verilen pozisyondaki değerin yerine listelemanı değerini aktarır. Dizi listesinin eleman sayısını döndürür. Dizi listesinin elemanlarını bir dizi nesnesi olarak döndürür. Dizi listesinin elemanlarını Tip ile verilen bir dizi nesnesi olarak döndürür. Dizi listesinin boyutunu eleman sayısına göre kırpma işlemini yapar.
34 ArrayList metotlarının kullanımına yönelik bir örnek uygulama //arraylistmetot.java import java.util.*; //Tüm java.util kütüphanesi programa dahil edildi public class arraylistmetot public static void main(string[] args) ArrayList isimler=new ArrayList(); ArrayList sayilar=new ArrayList(); isimler.add("ali"); isimler.add("celal"); isimler.add("nihan"); isimler.add(1,"irfan"); System.out.println(isimler); sayilar.add(10);sayilar.add(20);sayilar.add(30); isimler.addall(sayilar); //sayilar dizi listesi isimler dizi listesine eklendi System.out.println(isimler); sayilar.clear(); //sayilar dizi listesinin içeriği silindi System.out.println(sayilar); sayilar.add(10);sayilar.add(20);sayilar.add(30); if (isimler.contains("ali")==true) System.out.println("Ali, isimler dizi listesinde"); else System.out.println("Ali, isimler dizi listesinde değil"); if (isimler.containsall(sayilar)==true) System.out.println("sayilar dizi listesi, isimler dizi listesinde"); else System.out.println("sayilar dizi listesi, isimler dizi listesinde değil"); isimler.ensurecapacity(20); //isimler dizi listesinin eleman sayısı 20 ye çıkarıldı System.out.println("isimler in ilk elemanı :" + isimler.get(0)); System.out.println("Celal'ın eleman numarası :"+isimler.indexof("celal")); if (isimler.isempty()==false) System.out.println("isimler dizi listesi boş değil"); isimler.remove(0); //Ali, dizi listesinden çıkarıldı System.out.println(isimler); isimler.add(0,"ali");
35 //0 nolu yere eklendi isimler.remove("celal"); //Celal, dizi listesinden çıkarıldı System.out.println(isimler); isimler.removeall(sayilar); //isimler, dizi listesinden sayilar dizi listesi çıkarıldı System.out.println(isimler); isimler.addall(sayilar); isimler.retainall(sayilar); //sayilar dizi listesinin dışındakiler çıkarıldı System.out.println(isimler); isimler.add("ali"); isimler.add("celal"); isimler.add("nihan"); isimler.add(1,"irfan"); isimler.set(1,"ömer"); //1 nolu eleman Ömer olarak değiştirildi isimler.trimtosize(); //isimler dizi listesi boş elemanlardan temizlendi System.out.println("isimler\n-----\n"+isimler+" Toplam eleman sayısı :"+isimler.size()); //Class sonu [Ali, İrfan, Celal, Nihan] [Ali, İrfan, Celal, Nihan, 10, 20, 30] [] Ali, isimler dizi listesinde sayilar dizi listesi, isimler dizi listesinde isimler in ilk elemanı :Ali Celal'ın eleman numarası :2 isimler dizi listesi boş değil [İrfan, Celal, Nihan, 10, 20, 30] [Ali, İrfan, Nihan, 10, 20, 30] [Ali, İrfan, Nihan] [10, 20, 30] isimler [10, Ömer, 20, 30, Ali, Celal, Nihan] Toplam eleman sayısı :7 Wrapper Class ları Java'da herşey class olarak kullanılmaktadır. Java Class kütüphanesinde bütün primitive tiplerin Class karşılıkları bulunmaktadır. Bu Class lar Wrapper Class olarak adlandırılırlar. Primitive değişken tiplerini daha ileriye götürerek Class olarak kullanılma ayrıcalığını Java da bulabilirsiniz. Bu Class ın içerisinde Primitive tipiyle ilgili çeşitli özellik ve metodlar bulunur. Bu metodlardan bazıları, değişken tip çevrimi gibi metodlardır.
36 Primitive Tip int short long byte float double char boolean Primitive tiplerin Wrapper Class ları Wrapper Class ı Integer Short Long Byte Float Double Character Boolean Integer Class ı Dönüş Tipi static int static int static int static Class<Integer> Integer Class ına ait Özellikler Özellik Adı MAX_VALUE Değişken tipinin maksimum değerini döndürür. MIN_VALUE Değişken tipinin minimum değerini döndürür. SIZE Değişken tipinin kapladığı büyüklük değerini döndürür. TYPE Değişken tipinin tip adını döndürür. a ve b değişkenlerini primitive tip olarak tanıttık. int a=254; int b=1254; a ve b değişkenlerini Integer Class ı olarak olarak tanıttık. Artık bu Class a ait özellik ve metodları kullanabiliriz. Integer a=new Integer(254); Integer b=new Integer(1254); Integer Class ına ait özellikleri listeleyen uygulama; //intozellik.java public class intozellik public static void main(string[] args) Integer a=new Integer(254); Integer b=new Integer(1254); System.out.println("a degiskeni="+a+ " b degiskeni ="+b); System.out.println("Integer Class ozellikleri"); System.out.println("Maksimum Degeri :"+a.max_value); System.out.println("Minimum Degeri :"+a.min_value); System.out.println("Buyuklugu :"+a.size); System.out.println("Tip Adi :"+a.type);
37 Integer Class ına ait Metodlar Dönüş Tipi Metod Adı byte bytevalue() Integer nesnesinin değerini byte olarak döndürür. int compareto(integer diğer_integer) İki Integer objeyi numerik olarak karşılaştırır. Eğer eşitse 0 değilse -1 değerini döndürür. double doublevalue() Integer nesnesinin değerini bir double olarak döndürür. boolean equals(object nesne) Bu nesneyi bir başka nesne ile karşılaştırır. Eğer eşitse true, değilse false değerini döndürür. float floatvalue() Integer nesnesinin değerini bir float olarak döndürür. int hashcode() Integer nesnesi için Hash Kodunu (HashCode) döndürür.* int intvalue() Integer nesnesinin değerini bir int olarak döndürür. long longvalue() Integer nesnesinin değerini bir long olarak döndürür. static int parseint(string s) Bir String değeri, integer değere dönüştürür. static int parseint(string s, int taban) Bir String değeri, taban ile belirtilen sayı tabanını temel alarak integer değer dönüştürür. short shortvalue() Integer nesnesinin değerini short olarak döndürür. static int signum(int i) i parametresinin signum fonksiyon değeri olan işaret bilgisini döndürür. Eğer pozitifse 1, negatifse -1 döndürür. static String tobinarystring(int i) i parametresini String olarak ikili (binary) sayı tabanına dönüştürür. static String tohexstring(int i) i parametresini String olarak Onaltılı (Hexadecimal) sayı tabanına dönüştürür. static String tooctalstring(int i) i parametresini String olarak Sekizli (Octal) sayı tabanına dönüştürür.
38 String tostring() Integer nesnesinin değerini, bir String nesnesine dönüştürür. static String tostring(int i) i parametresini, bir String nesnesine dönüştürür. static String tostring(int i, int taban) i parametresini, taban ile belirtilen sayı tabanını temel alarak bir String nesnesine dönüştürür. static Integer valueof(int i) i parametresini, Integer olarak döndürür. static Integer valueof(string s) s parametresini, Integer nesnesi olarak döndürür. static Integer valueof(string s, int taban) s parametresini, taban ile belirtilen sayı tabanını temel alarak bir Integer nesnesine dönüştürür. Integer Class ına ait metodları gösteren uygulama; //intmethod.java public class intmethod public static void main(string[] args) Integer a=new Integer(128); Integer b=new Integer(1254); String s1="1500"; System.out.println("a degiskeni="+a+ " b degiskeni ="+b); System.out.println("Integer Class Metodlari"); System.out.println("byteValue Metodu:"+a.byteValue()); System.out.println("compareTo Metodu:"+a.compareTo(b)); System.out.println("doubleValue Metodu:"+a.doubleValue()); System.out.println("equals Metodu:"+a.equals(b)); System.out.println("floatValue Metodu:"+a.floatValue()); System.out.println("hashCode Metodu:"+a.hashCode()); System.out.println("intValue Metodu:"+a.intValue()); System.out.println("longValue Metodu:"+a.longValue()); int c=a.parseint(s1)+10; System.out.println("parseInt Metodu:"+c); int d=a.parseint("ff",16);//ff hexadecimal--> 255 decimal int e=a.parseint(" ",2);// binary-->255 decimal int f=a.parseint("120",8);//120 octal sayısı-->80 decimal System.out.println("FF(16):"+d+ ", (2):"+e+ ",120(8):"+f); System.out.println("shortValue Metodu:"+a.shortValue()); if (Integer.signum(a)==1) System.out.println("Sayi Pozitif"); else if (Integer.signum(a)==-1) System.out.println("Sayi Negatif"); System.out.println("toBinaryString Metodu:"+Integer.toBinaryString(255)); System.out.println("toHexString Metodu:"+Integer.toHexString(255)); System.out.println("toOctalString Metodu:"+Integer.toOctalString(255)); System.out.println("toString Metodu:"+a.toString()+" String oldu"); System.out.println("toString Metodu:"+Integer.toString(255)+" String oldu"); System.out.println("toString Metodu:"+Integer.toString(255,16)+" HexaDecimal");
39 System.out.println("valueOf Metodu:"+Integer.valueOf(a)); System.out.println("valueOf Metodu:"+Integer.valueOf("1250")); System.out.println("valueOf Metodu:"+Integer.valueOf("FF",16)); *Hashtable, dizilerde kullandığımız indis numaraları yerine bir string eşleştirmesi yapılan bir tablo kullanımıdır. Hashtable class ını kullanmaya başlamadan önce java.util.hashtable kitaplığını eklemeniz gerekmektedir. (import java.util.hashtable;) Örnek bir Hashtable uygulaması; //hashtable1.java import java.util.hashtable; public class hashtable1 public static void main(string[] args) Hashtable sayilar = new Hashtable(); sayilar.put("bir", new Integer(121)); sayilar.put("iki", new Integer(122)); sayilar.put("uc", new Integer(123)); Integer n = (Integer) sayilar.get("iki"); if (n!= null) System.out.println("iki = " + n);
40 Short Class ı Özellikler Short Class ı özellikleri, yukarıda belirtilen Integer Class ına ait Özellikler başlıklı tablosundaki özelliklerdir. Metodlar Short Class ın metodları, Integer Class ına ait Metodlar başlıklı tablosundaki metodlardır. Ayrıca bu metodlara ilave olarak aşağıdaki metodlar kullanılabilir. Dönüş Tipi Metod Adı static short parseshort(string s) Bir String değeri, short değere dönüştürür. static short parseshort(string s, int taban) Bir String değeri, taban ile belirtilen sayı tabanını temel alarak short değer dönüştürür. Long Class ı Özellikler Long Class ı özellikleri, yukarıda belirtilen Integer Class ına ait Özellikler başlıklı tablosundaki özelliklerdir. Metodlar Long Class ın metodları, Integer Class ına ait Metodlar başlıklı tablosundaki metodlardır. Ayrıca bu metodlara ilave olarak aşağıdaki metodlar kullanılabilir. Dönüş Tipi Metod Adı static long parselong(string s) Bir String değeri, long değere dönüştürür. static long parselong(string s, int taban) Bir String değeri, taban ile belirtilen sayı tabanını temel alarak long değer dönüştürür. Byte Class ı Özellikler Byte Class ı özellikleri, yukarıda belirtilen Integer Class ına ait Özellikler başlıklı tablosundaki özelliklerdir. Metodlar Byte Class ın metodları, Integer Class ına ait Metodlar başlıklı tablosundaki metodlardır. Ayrıca bu metodlara ilave olarak aşağıdaki metodlar kullanılabilir.
Ders 4: Diziler (Arrays( Arrays) barisgokce.com
Ders 4: Diziler (Arrays( Arrays) Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Diziler Aynı tipteki bir veri gurubunun bir değişken içinde saklanmasıdır. Veriler Hafızada
DetaylıBMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler
BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin
DetaylıJAVADA DİZİ İŞLEMLERİ
JAVADA DİZİ İŞLEMLERİ Javada diziler nesnedirler, cdeki gibi hafızada yer kaplayan pointer değillerdir. Javada diziler, cye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler atayamazsınız.
DetaylıGörsel Programlama DERS 03. Görsel Programlama - Ders03/ 1
Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit
DetaylıDeğişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir
DİZİLER (ARRAYS) Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir değişken tanımlamak gereklidir. string gun1,
DetaylıKlavyeden Basit Giriş/Çıkış İşlemleri
Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulandıktan sonra ekrana yazdırılması ya da herhangi bir yazıcıdan çıktı alınması gibi işlemlerdir. Javada
DetaylıArrayList Uygulamaları
ArrayList Uygulamaları Aşağıdaki program önce boş bir ArrayList yaratıyor. Sonra sırasıyla şu işleri yapıyor: Listenin boş olup olmadığını yaz. Ambara üç tane öğe ekle. İndisi 2 olan yere bir öğe sokuştur.
DetaylıJAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ
JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.
DetaylıProgramlama Dillerinde Kullanılan Veri Tipleri
Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs
DetaylıBMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI
BİR BOYUTLU DİZİLER Amaçlar: 1. 1 BOYUTLU DİZİLERİ TANIMLAMAK 2. 1 BOYUTLU DİZİ UYGULAMALARI YAPMAK Örnek 5-1 Aşağıdaki program öğrenci notlarını bularak en iyi notu hesaplar. Harf notu şu şekilde hesaplanır:
DetaylıC# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler
C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra
DetaylıBTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8
BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek
DetaylıProgramlama Dilleri 3
Diziler (Arrays) 1 Dizi Kavramı Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri
DetaylıBMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN
BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN TEMEL AMAÇLAR Bir dairenin yarıçapını kullanıcıdan alarak dairenin alanını hesaplamak istediğimizi düşünelim. Eğer girilen değer
DetaylıJava String İşlemleri
Java String İşlemleri Karakterler (Characters) "char" kelimesi bir karakter tanımlamak için kullanılır. Karakter tek tırnak içine alınmalıdır. Bir char'ın aralığı 0 ile 65536 arasındadır. Char türü işaretsiz
DetaylıD İ Z İ L E R A R R A Y S
D İ Z İ L E R A R R A Y S 1 Örneğin 120 adet öğrencinin adını klavyeden girip, daha sonra bunları ekrandan yazdıralım. Bunun için, her öğrenci için ayrı bir değişken tanımlanmalıdır. String ad1; String
DetaylıKodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.
GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.
DetaylıKodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.
GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.
DetaylıÇoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say
İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input
DetaylıDr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net
Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)
DetaylıBilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN
Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN NESNE TABANLI PROGRAMLAMA Java Değişkenler ve Veri Tipleri Operatörler JAVA Java Java SUN bilgisayar şirketince
DetaylıNesne Yönelimli Programlama
1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin
DetaylıYZM 2105 Nesneye Yönelik Programlama
YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu
Detaylı1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.
1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result
DetaylıC#(Sharp) Programlama Dili
Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin
DetaylıSunum İçeriği. Programlamaya Giriş 22.03.2011
Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama
Detaylı2 ALGORİTMA VE AKIŞ DİYAGRAMLARI
İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ
DetaylıBIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ
2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 7 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Java Programlama Dili ve Algoritmadan Kodlamaya Geçiş) Yrd. Doç. Dr. İbrahim Küçükkoç
DetaylıArrayList(int initialcapacity) Sığası (capacity) parametrenin belirlediği sayıda olan bir dizi oluşturur.
ArrayList Sınıfı java.util Class ArrayList java.lang.object java.util.abstractcollection java.util.abstractlist java.util.arraylist Java Collections Framework içinde yer alan bu sınıfın üç tane kurucusu
DetaylıAynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...
Array (Diziler) Array Aynı tipten çok sayıda değişken topluluğudur. Birden fazla aynı tipteki değerle işlem yapmayı kolaylaştırır. X Y Score1 Score2 40 56 Grade 40 56 80 (0) (1) (2)... (13) Array tanımlama:
DetaylıYZM 2105 Nesneye Yönelik Programlama
YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;
DetaylıDiziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU
Diziler Yrd.Doç.Dr.Bülent ÇOBANOĞLU Dizi (Array) Nedir? Bellekte sürekli yer kaplayan artarda sıralanmış aynı türden verilerin oluşturduğu kümeye dizi (array) denir. Dizi, çok fazla miktardaki tek tip
DetaylıTemel Bilgisayar Programlama Final Sınavı Çalışma Notları
Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak
DetaylıBinary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama
Bölüm 39 Binary Search (Yarılama) 39.1 Dizide Bir Öğe Arama İkil aramayı (yarılama yöntemi) sıralı veri kümelerinde sık sık kullanırız. Örneğin, sözlükte bir sözcüğü ararken, sözlüğün bütün sayfalarını
DetaylıÖğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi
Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi İÇİNDEKİLER Değişken Nedir? Değişken kullanımı faydaları. Değişken türleri Değişken görünürlüğü (scope) Değişken türleri arası dönüşümler Örnek
DetaylıDizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...
Javada Diziler Java da diziler nesnedir; içerisinde belirli sayıda eleman bulunur. Eğer bu sayı sıfır ise, dizi boş demektir. Dizinin içerisindeki elemanlara eksi olmayan bir tam sayı ile ifade edilen
Detaylı1. Her marka için 3 aylık satış toplamı nedir? (Tablodaki satır toplamları)
Çok Boyutlu Diziler gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-101/cok-boyutlu-diziler Kategori : Mobil Lisans : Creative Commons (by-nc-sa) En son 28.04.2016 tarihinde güncellendi Yazar
DetaylıALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi
DetaylıDiziler İndisli Değişkenler
Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın
DetaylıDeğişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while
Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne
DetaylıNesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.
Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir
DetaylıYMT219 VERİ YAPILARI ÖDEV-1
YMT219 VERİ YAPILARI ÖDEV-1 1. İkiliBul yordamı aşağıda verilmiştir. İkiliBul yordamı A dizisi içerisinde 2 tane eşit sayı bulursa true bulamazsa false döndürmektedir. public boolean ikilibul(int[] A){
DetaylıBİL-141 Bilgisayar Programlama I (Java)
BİL-141 Bilgisayar Programlama I (Java) TOBB Ekonomi ve Teknoloji Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, M. Ali Akcayol tarafından Java Bilgisayar Programlamaya Giriş, A.
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar
DetaylıBBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/
BBS515 Nesneye Yönelik Programlama Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ print metodu System.out.print imleci aynı satırda tutar, System.out.println imleci bir alt satıra indirir Tamsayı
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor
DetaylıInterface Comparator. Kılgılayan sınıf: Collator. Bildirimi: public interface Comparator
Interface Comparator java.util Interface Comparator Kılgılayan sınıf: Collator Bildirimi: public interface Comparator Comparator arayüzü Java Collections Framework un bir üyesidir. Bir nesneler koleksiyonu
Detaylı/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/
Ana Main Kodları /*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ package javaapplication1; public class JavaApplication1 public static void
DetaylıGörsel Programlama DERS 04. Görsel Programlama - Ders04/ 1
Görsel Programlama DERS 04 Görsel Programlama - Ders04/ 1 Diziler ve Kolleksiyonlar(Collections) Diziler aynı tipli değişkenleri tutmak için kullanılan veri yapılarıdır. Diziler sabit uzunlukludur. Birkez
DetaylıBil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi
Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini
DetaylıAlgoritma ve Programlama: Karar Yapıları ve Döngüler
Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan
DetaylıKarşılaştırma İşlemleri ve Koşullu İfadeler
Karşılaştırma İşlemleri ve Koşullu İfadeler BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz Karşılaştırma İşlemleri Java'da sayısal veri tiplerinin karşılaştırılması için aşağıdaki karşılaştırma
DetaylıC Programlama Dilininin Basit Yapıları
Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade
DetaylıNESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem
DetaylıDizi ( Array ) ve Dizgi ( String )
Java da Dizi ( Array ) ve Dizgi ( String ) Tanımlama BBS-515 Nesneye Yönelik Programlama Ders #6 (25 Kasım 2009) İçerikç Geçen ders: Kalıtım ( inheritance ) -- tekrar ziyaret Java da super kullanımı Java
Detaylıİçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama
İçerik Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Bu hafta:
DetaylıPROGRAMLAMAYA GİRİŞ DERS 2
PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı
DetaylıTemel Kavramlar BBS-515 Nesneye Yönelik Programlama
Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Ders #2 (2 Kasım 2009) İçerikç Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili
DetaylıDers - 7 while döngüsü
Ders - 7 while döngüsü import java.util.scanner; public class StringKiyaslama { public static void main(string[] args) { Scanner klavye=new Scanner(System.in); Oncelikle Lab icin bir aciklama System.out.println("1.
DetaylıC# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ
C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı
DetaylıTemel Veri Türü İşlemleri
Temel Veri Türü İşlemleri BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz Değişkenler ve Veri Türleri Programlama dillerinde her değişken için bir veri türü tanımı yapılır. Değişkenler,
DetaylıAlgoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA
Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA Muhammet BAYKARA 1 İlkel Veri Türleri Type Name Kind of Value Memory Used Size Range byte integer 1 byte -128 to 127 short integer 2 bytes -32768
DetaylıJava da Program Denetimi ve Operatörler
Java da Program Denetimi ve Operatörler 1 Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! 2 Temel (Primitive) Tiplerde Atama int a, b ; a=4 ; b=5 ; a=b ; Sonuç : a=5, b=5 3 Nesneler
Detaylı// hataları işaret eden referans
System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin
DetaylıJava Programlama Dilinde Veri Tipleri. Yrd. Doç. Dr. Aybars UĞUR
Java Programlama Dilinde Veri Tipleri Yrd. Doç. Dr. Aybars UĞUR Metoda Temel Veri Tipi Gönderme Java daki 8 Temel veri tipi (boolean, char, byte, short, int, long, float, double). public class OrnekTemelTip
DetaylıALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi Dizilere Başlangıç Değeri Verme Dizilerde Arama
DetaylıBM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta
Ön bilgi: Özyineli fonksiyon tanımlanabilmeli. Dizilerin fonksiyon parametresi veya geri dönüş değeri olarak kullanımı bilinmeli. 1. Klavyeden girilen sayı n olmak üzere [1..n] aralığındaki sayıların toplamı
DetaylıPHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.
PHP'nin Temelleri PHP Nedir? PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler (operatörler), işlemcilerle oluşturulan deyimler ve nihayet
DetaylıKonular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI
BLG339 PROGRAMLAMA DİLLERİ KAVRAMI Hafta 5 Veri Tipleri (Devam) Yrd. Doç. Dr. Melike Şah Direkoğlu Konular Dizi Tipleri Kayıt Tipleri Birleşik Tipler Küme Tipleri İşaretçi ve Referans Tipleri Alındığı
Detaylıİnternet Programcılığı Dersi 2.Dönem Ders Notu
İnternet Programcılığı Dersi 2.Dönem Ders Notu DEĞİŞKEN TİPLERİ TAM SAYI (İNTEGER) VERİ TİPİ Negatif veya pozitif ondalık kısmı bulunmayan sayılardır. Örnek: $i=65; $x=345; ONDALIK(REAL)VERİ TİPİ Ondalıklı
DetaylıÖzyineleme (Recursion)
C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,
DetaylıBMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1
BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı
DetaylıNesne Tabanlı Programlama
Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Diziler Dizi Tanımlama ve İlk Değer Atama Dizi Elemanlarının Kullanılması Dizi İşlemleri Java da Diziler JAVA DA DİZİLER 4 Dizi; tek bir veri tipinde,
DetaylıKarabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ
WEB TEKNOLOJİLERİ VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak
DetaylıLab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;
BTEP212 Java DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI Lab7 bazen bir metodun içinde o metodun ait olduğu sınıftan yaratılacak nesneyi veya o nesnenin bir alt
DetaylıFonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {
Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel
DetaylıOperator Aşırı Yükleme (Operator OverLoading)
Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme Operatör metotları bir nesnenin ifadeler içinde operatörlerle kullanıldığı zaman davranışını belirler. Temel veri türleri için operatörler
DetaylıBir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.
C# da Diziler Diziler için aynı tipteki verilerin tutulduğu bir koleksiyon diyebiliriz. Örneğin integer verinin bir yığın şeklinde tutulması için dizileri kullanırız. C# da diziler referans tipinde değişkenlerdendir.
DetaylıBASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ
BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ BMÜ-101 ALGORİTMA VE PROGRAMLAMA İLHAN AYDIN 2013-2014 GÜZ DÖNEMİ FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ AMAÇLAR İlkel veri türleri ile tanışmak
DetaylıPROGRAMLAMA TEMELLERİ DERSİ ÖZETİ
Değişkenler PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ C# Programlama Dili Giriş Değişkenler bir programlama dilinde verilerin depolanma alanlarını temsil eder. Tanımlanan her değişkene bellek bölgesinden bir alan
Detaylı5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi
5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını
DetaylıDÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN
DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN GİRİŞ Ekrana «Merhaba Java» şeklinde bir mesajı 100 defa yazmak istediğinizi düşünelim. Aşağıdaki komut satırını 100 kez yazmak sıkıcı
DetaylıNesne Tabanlı Programlama
Nesne Tabanlı Programlama Ders Notu - 1 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler ve Değişkenler Values & Variables 2 1 Değişkenlerin Özellikleri Tipi
DetaylıBBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu
BBS515 Nesneye Yönelik Programlama Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ Bu derste neler öğreneceğiz? IntelliJ ile proje oluşturma Yorum satırları Sınıf deklarasyonu İsimlendirme kuralları
DetaylıBBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu
BBS515 Nesneye Yönelik Programlama Ders 3 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ Bağıntısal Operatörler operatör tanımı < küçüktür > büyüktür = büyük eşittir eşittir!= eşit
Detaylıenum bolumler{elektronik, insaat, bilgisayar, makine, gida};
BÖLÜM 12: Giriş C programlama dilinde programcı kendi veri tipini tanımlayabilir. enum Deyimi (Enumeration Constants) Bu tip, değişkenin alabileceği değerlerin belli (sabit) olduğu durumlarda programı
DetaylıJava da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1
Java da Program Denetimi ve Operatörler Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1 Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! Altuğ B. Altıntaş 2003 Java ve Yazılım
DetaylıNESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2
NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki
DetaylıJava da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )
Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts
DetaylıİNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ
İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ AD SOYAD: TESLİM TARİHİ: OKUL NO: TESLİM SÜRESİ: 1 hafta Ödev No: 2 1- A)
DetaylıJava ile Nesneye Yönelik Programlama (Object Oriented Programming)
Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Giriş Yrd. Doç. Dr. Aybars UĞUR Örnek 1 Bir Yolcu sınıfı, yolcu1 nesnesi oluşturulması ve kullanılması class Yolcu String ad; String soyad;
DetaylıMAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş
MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101
DetaylıDİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II
DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II DİZİLER Dizi, aynı tipteki verilere tek bir isimle erişmek için kullanılan bir kümedir. Bir dizi bildirildikten sonra, dizinin bütün elemanları bellekte peşpeşe
DetaylıEMT2226 Nesne Yönelimli Programlamaya Giriş
2017-2018 Bahar Yarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü EMT2226 Nesne Yönelimli Programlamaya Giriş 2 Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr Email: ikucukkoc@balikesir.edu.tr
Detaylı