6 Mayıs 2012 Pazar

METODLAR

Metod Nedir ?

Metodlar, program içinde yazılmış küçük program parçalarıdır. Bu şekilde görevleri, metodlar altında oluşturarak gerektiğinde çağırabiliriz. Javada ki metod, C, C++, pHp.. 'deki fonksiyon kavramına eşittir. Bunu şöyle basit bir örnekle aklımızda canlandıralım...

Yazdığımız programı bir arabaya benzetelim ve bu arabayı hareket ettirelim. En basitinden, arabayı hareket ettirebilmemiz için çalıştırmamız gerekir. Onu da şöyle tanımlarız:

Kapıyı aç.
Arabaya otur.
Kapıyı kapat.
Anahtarı kontağa sok ve çalıştır.


Biz arabayı her çalıştırmak istediğimizde bu işlemleri yapmamız gerekecek. İşte burda metodlar devreye girer ve biz bunu metodlar yardımıyla bir kere tanımlarız, programa arabayıCalistir() dediğimiz zaman da bu saymış olduğumuz işlemleri yapar. Kısacası, az laf çok iş...


Metodun Oluşturulması: public static metodunDöndüreceğiDeğer metodunAdı (metodunDışardanAlacağıDeğerinTürüveAdı)
{
yapılacak işlemler
}

Kullanımı: metodunAdı(metoddaKullanacağımızDeğişken);



  Şimdi de girdiğimiz iki sayının toplamını, bize metod yardımıyla veren bir program yazalım...




















İlk önce ana metodumuzun altına public static int topla(int a,int b) adında bir metod oluşturduk. Buradaki
int, metodumuz sonucunda dönecek değer,
topla, metodumuzun adı, (int a,int b),
dışarıdan alacağımız değişkenin türü ve adı

Bu metodun içinde integer türünde sonuc isimli bir değişken oluşturduk ve dışardan alacağımız bu iki değişkenin toplamını bu değişkene atadık. Daha sonra da return sonuc; diyerek sonuc değişkenimizi metodumuzun sonunda döndürmüş olduk.

Daha sonra ana metodumuza gelip, kullanıcıdan iki tane sayı aldırdık. Aldığımız bu değişkenleri z ve c değişkenlerine atadık. Dışardan girdiğimiz tüm değerler String kabul edildiği için z2 ve c2 değişkenlerine dışarıdan aldığımız bu değişkenleri integere çevirerek atadık. JoptionPane.showMesageDialog ile ekrana, bu girmiş olduğumuz iki değişkenin toplamını topla() metoduyla ekrana yazdırdık.

5 Mayıs 2012 Cumartesi

DİZİLER

Dizi Nedir ?

İçinde birden fazla değişken tutan ve diğer değişkenler gibi belirli bir türe sahip olan değişkenlerdir.Ayrıca bu değerler de bellekte ardışıl biçimde saklanırlar ve hepsi aynı türe ilişkin olmak zorundadır. Kısacası diziyi, arka arkaya sıralanmış bir değişken paketi olarak düşünebiliriz.


Dizilerle ilgili diğer önemli bir husus, dizilerin içlerinde tutacakları eleman sayısı sahiptir. Bazı elemanlara biz değer vermesek bile bu elemanlar için bellekte yer ayrılır. Ayrıca dizinin içerisinde saklanan değerlerin türü ile dizinin türü aynı olmak zorundadır.


Dizinin Oluşturulması: Dizi türü  değişken adı  [ dizinin eleman sayısı ] = { dizinin elemanları }


Bir örnekle dizileri inceleyelim...












İlk önce integer türünde dizi isminde bir dizi tanımladık. Ardından { ile } arasına dizimizin elemanlarını yazdık.  Daha sonra bir for döngüsü oluşturduk. Bu for döngüsünü oluşturmamızdaki amaç, dizimizin elemanların hepsini teker teker ekrana basmak istememiz. 0 'dan 6 'ya kadar, yani bizim dizimizin eleman sayısının uzunluğunca bir for döngüsü açtık ve System.out.print komutuyla ekrana dizimizin elemanlarını yazdırdık. Dizinin her bir elemanını tek tek yazdırmak istediğimiz için de dizi[i] şeklinde kullandık. Dizinin istediğimiz elemanına ulaşmak için örneğin dizi[5] ibaresini kullanabiliriz.

NOT: Burada dikkat edilmesi gereken husus, dizilerin ilk elemanı 0(sıfır) 'dan başlar. Yani bizim yukarıda yazmış olduğumuz dizi[5] ifadesi bize dizinin 5. elemanını değil 4. elemanını verir.



Şimdi de String türünde bir diziyi ele alalım...











Bu sefer String türünde dizi adında bir dizi oluşturduk ve yine { ile } arasına elemanlarımızı yazdık. Dizimiz String türünde olduğu için dizimizin elemanlarını çift tırnak içinde ( " ") yazdık. Yine bir for döngüsü oluşturduk. Bu sefer eleman sayımız 3 olduğu için 0 'dan 3 'e kadar bir döngü açtık. Son olarak da Syste.out.print komutuyla dizimizin elemanlarını ekrana yazdırdık.

22 Nisan 2012 Pazar

DEYİM ve DÖNGÜLER

Deyim ve Döngü Nedir, Ne İşe Yarar ?


   Döngüler, bir işi, belirlediğimiz sayıda yapan kod bloklarıdır. Örneğin, ekrana 10 kere "Merhaba JAVA" yazan bir programda, "Merhaba JAVA" yazdıran kodu, aslında tek bir defa yazarız ve döngü burada devreye girip, bizim için bu kodu istediğimiz sayıda tekrarlar. 
 
   Deyimler, belirli bir şart sağlandığında, program akışını kendi faaliyet alanına çeviren komutlardır.

  Şimdi de döngü ve deyim çeşitlerine değinelim...



IF Deyimi

IF deyimi, belli bir şart sağlanması durumunda, program akışını kendi faliyet alanı içerisine yönlendirir. Kendi faliyet alanının en son satırına kadar kodları çalıstırır ve daha sonra da program akışı, if deyiminin faliyet alanının bittiği yerden devam eder. Şimdi bunu bir örnekle açıklayalım...

Kullanımı: 
if(koşullar)
{
yapılması gerekenler
}

else
{
ilk koşulun doğru olmaması durumunda yapılması gerekenler
}
















Kullanıcı adı ve Şifre adında iki tane string değişken tanımladık ve değerlerini atadık. Kullanıcı adı ve şifreyi, kullanıcıdan girmesini istedik ve bunu string türündeki girilenKullaniciAdi ve girilenSifre değişkenlerine atadık. Daha sonra girilen kullanıcı adı ve şifreyle, bizim tanımlamış olduğumuz kullanıcı adı ve şifreyi equals() komutuyla eşit mi diye sorgulattık. Eşit olması durumunda ilk blok çalışacak, olmadığı zaman yani else durumunda ikinci bok çalışacak. Bizim programımızda doğru girdiğimiz için ilk blok çalıştı.

___________________________________________________________________________

NOT: İlk derslerimizde de bahsetmiştik, JAVA büyük-küçük harf duyarlıdır. Biz kullanıcı adı kısmına küçük harflerle numan yazsaydık ve şifre aynı kalsaydı yine hata verecekti, çünkü kullanıcı adı tanımlamamızı ilk harfi büyük tanımladık.
___________________________________________________________________________




SWITCH(){ CASE } Deyimi:

Bu deyimi, birden fazla if deyimi kullanmaya benzetebiliriz. Tek farkı, örneğin yazdığımız programda kullanıcıdan bir giriş isteyip, kullanıcının gireceği  4 değerden, biz olası her değer için bir işlem yaptırabiliriz.Şimdi deyimin kullanımını inceleyelim...



   


İlk önce değer adında string bir değişken oluşturduk ve kullanıcıdan aldığımız değeri bu değişkene atadık. Sonra integer türünde bir sayi değişkeni oluşturduk, kullanıcıdan aldığımız deger değerini integere çevirdik ve bunu sayi değişkenine atadık. Daha sonra bu sayi değişkenini koşul koayarak switch-case komutumuzu çalıştırdık. Case: 'in yanına yazdığımız sayılara göre gerekli işlemler yapılacak ve break komutuyla switch-case 'den çıkacak. Break yazmasaydık sırasıyla bütün komutlar çalışacak ve bütün mesajları ekrana yazdıracaktı. koyduğumuz koşul dışında bir durum oluşursada default: komutu devreye girecek ve hata mesajımızı verecek.



FOR Döngüsü:

for( <ilk deger> ; <kosul> ; <arttırma-azaltma değeri> )

İlk deger ile başlayan döngü ile program for bloguna girdikten sonra, blogun sonuna geldiginde kosulun
saglanıp saglanmadıgını kontrol edecek ve kosul saglanıyorsa arttırma-azaltma değerini ni gerçekleştirip tekrar döngüye girecektir.

Bir örnekle açıklayalım...














for döngüsü içinde, integer türünde bir i değişkeni oluşturduk ve başlangıç değeri olarak belirledik. Daha sonra bu değerin kaça kadar artacağını belirledik. En son olarakta kaçar kaçar arttırılacağını belirledik. i++; i 'yi 1 arttır demek.


WHILE Döngüsü

if döngüsüyle aynı işlevi görür. Tek farkı, koşul sağlandığı sürece döngüye girer.













Burada dikkat etmemiz gereken husus, döngü içindeyken i 'nin değerini değiştirmemiz. Eğer biz oraya i++ yazmamış olsaydık, i 'nin değeri hep 0 olacak ve i, 5 'ten küçük olduğu için de sonsuz bir döngüye girecek.

12 Nisan 2012 Perşembe

Değişkenlerin Türlerinin Değiştirilmesi (Cast)

Bazı durumlarda, farklı türden değişkenlerin birbirleriyle işleme girmeleri ve bir türe ilişkin bir değerin aynı olmayan türde bir değiskene atanması gibi islemler gerekebilir. Bu tür durumlarda tür dönüşümü (cast) devreye girer. Şimdi bu tür dönüşümünün nasıl kullanıldığını resimlerle inceleyelim...

Kullanımı: Değişken Türü değişken adı= (tür dönüşümü yapacağımız değişken türü) değişken adı

Aşağıdaki örnek daha açıklayıcı olacaktır...

İlk önce Double tipinde bir a değişkeni tanımladık ve 15.35 değerinin atadık. Daha sonra, integer tipinde bir c değişkeni tanımladık ve a değişkenindeki değeri c değişkenindeki değere atamaya çalıştık. a değişkeni Double olduğu için integer değere atarken tür dönüşümü (cast) yapmamız gerekti, eğer bunu yapmasaydık programımız hata verecekti.












Her zaman yukardaki örnekte olduğu gibi tür dönüştürme operatörünü kullanmak zorunda değiliz, tür dönüşümlerine ait bazı özel metodları da kullanabiliriz. Bunlardan bazılarını örnek verecek olursak;

__________________________________________________________________
Integer.parseInt(5) = Parantez içinde verilen String türündeki değeri integer 'e çevirir.
Integer.toString(5) = Parantez içerisinde verilen int türünü String 'e çevirir.
Double.parseDouble(5) = Parantez içerisinde verilen int türünü Double 'a çevirir.
Double.toString(5.21) = Parantez içerisinde verilen double türünü String 'e çevirir.
__________________________________________________________________

Şimdi de bunların kullanımını bir örnekle açıklayalım...

İlk önce String türünde bir a değişkeni tanımladık ve "5" değerini verdik. Daha sonra integer türünde b değişkeni tanımladık ve ona da 5 değerini verdik. Son olarak String türünde sonuc değişkeni tanımladık ve a ile b 'nin toplamını atadık. Programı çalıştırıp tür dönüşümü yapmadan önceki sonucumuzu görelim.










Görüldüğü gibi sonuç 10 olması gerekirken 55 çıktı. Bunun nedeni, + operatörü yalnızca sayısal değerlerin toplanmasında kullanılır. Diğer türlerde kullandığımız zaman toplama değil birleştirme yapar.

Şimdi de tür dönüşümü yaptıktan(cast) sonraki sonucumuzu görelim...












Bu sefer sonucumuz 10 çıktı. Çünkü, String türündeki değişkenimizi Integer.parseInt(a) komutuyla integer türüne dönüştürdük(cast ettik) ve iki integer türündeki değişkeni toplamış olduk.

Operatörler

Operatörler, sayısal ya da mantıksal ifadelerin birbirleri ile işleme sokulmasını sağlayan araçlardır. Operatörler, sayısal hesaplamaların yapılması, sayısal olmayan değerlerin ve kelimelerin karşılaştırılması, eşitliklerin sağlanması gibi durumlarda kullanılabilirler. Aşağıdaki resimlerde bu operatörlerin ne amaçla ve nasıl kullanıldığını inceleyelim...


Matematiksel işlem yaparken kullanacağımız bazı operatörler...


İki integer değeri karşılaştırırken kullanacağımız ==(eşittir) operatörü. Burada dikkat etmemiz gereken nokta, tek eşittir(=) ile değil çift eşittir(==) ile kullanmamız.











İki string değeri karşılaştırırken kullanacağımız equal operatörü.

NOT: String değerleri karşılaştırılırken, integer değerlerde kullanılan == operatörü değil, stringDeger.equal(stringDeger) operatörü kullanılır.











&& (ve) operatörü, mantıksal işlemlerde kullanılır. Operatörün her iki tarafındaki değer doğru ise doğru sonucunu üretecektir. Ancak sağ ya da sol taraftan en az bir tanesinin yanlış olması, kıyaslama sonucunun yanlış olmasına yetecektir.










|| (veya) operatörü de her iki taraftan en az bir tanesinin doğru olması durumunda doğru, her iki tarafında yanlış olması durumunda yanlış sonucunu döndürecektir.

29 Mart 2012 Perşembe

Değişkenler ve JOptionPane Sınıfının Kullanılması

Biz ekrana yazdırma komutu olarak System.out.print 'i görmüştük. Şimdi ise farklı bir ekrana yazdırma komutu olan JOptionPane.showMessageDialog 'u göstereceğim. Bu komut, çalıştırıldığı zaman ekrana bir mesaj kutusu getiriyor yani yazmış olduğumuz mesajı görsel olarak görmüş oluyoruz. Aşağıdaki resim ne demek istediğimi daha açık anlatıyor.



Burada dikkat edeceğimiz husus; JOptionPane sınıfını kullanırken kullanmamız gereken kütüphane. Bu yüzden hangi kütüphaneyi kullanmamız gerekiyorsa belirtmemiz gerekiyor.
package kısmının altına, import javax.swing.JOptionPane yazıyoruz.

Peki nedir bu import ? Onu da küçük bir örnekle açıklayayım. C/C++ 'daki #include ne ise, C# 'daki using ne ise buradaki import o vazifeyi görüyor, kullanmamız gereken kütüphaneyi programımıza dahil ediyor.



Şimdide değişkenlerin nasıl oluşturulduğunu ve kullanıldığını görelim.

Eğer daha önce C/C++ ile uğraştıysanız değişken tanımlamayı da görmüşsünüzdür. Java 'da kullanılan değişken kullanımının C/C++ 'dan hiçbir farkı yok. Örneğin;

int i;
String s;
char c;
double x;  gibi...

Bu değişkenleri ilk oluşturduğumuz sırada değer atamalarını da gerçekleştirebiliriz...

int i = 5;
String s = "Bu bir String cümle";
char c = 'b';
double x = 5,2;

Bunu aşağıdaki örnekte uygulamalı olarak görebiliriz.

NOT: Java 'da string ve String ayrı kavramlardır. Yani, Java büyük-küçük harfe karşı duyarlıdır. Değişken tanımlamaları yaparken, yine CTRL + SPACE kısayolunu kullanarak, Java içerisindeki hazır komutları, değişken türlerini, oluşturmuş olduğunuz değişkenleri,sınıfları v.s.. her şeyi görebilirsiniz.




JOptionPane sınıfına ait bir diğer komut ise, JOptionPane.showInputDialog komutu. Bu komut, kullanıcıdan bilgi girmesini ister. Aşağıdaki örnekte bunu açıklamalı olarak inceleyelim.


    Öncelikle isim adında String bir değişken oluşturduk ve JOptionPane.showInputDialog komutuyla kullanıcıdan aldığımız bilgiyi isim değişkenine atadık.


   Daha sonra JOptionPane.showMessageDialog komutuyla, kullanıcıdan aldığımız bilgiyi de kullanarak bir karşılama mesajı yazdırdık.



Şimdi farklı bir örnek yapalım. Ancak bu örnekte dikkat etmemiz gereken önemli bir nokta var.


String türünde bir sayi değişkeni oluşturduk ve JOptionPane.showInputDialog komutuyla aldığımız bilgiyi sayi değişkenine atadık. Daha sonra integer türünde sayi_convert adında bir değişken oluşturduk ve Integer.parseInt komutuyla dışarıdan aldığımız sayıyı integer 'e çevirerek sayi_convert değişkenine atadık.

_________________________________________________________________________
Burada dikkat etmemiz gereken nokta ise; JOptionPane.showInputDialog komutuyla kullanıcıdan alınan her türlü bilgi String türünde kabul edilir ve dışarıdan integer türünde bir değer girilmesi isteniyorsa bunun muhakkak integer türüne çevrilmesi(convert) gerekir. Çünkü; dışardan girilen her türlü bilgi String olarak kabul edilir.
_________________________________________________________________________


Daha sonra sonuc adında integer türünde bir değişken oluşturup dışarıdan girilen sayının karesini sonuc değişkenine atadık.




Son olarak JOptionPane.showMesasgeDialog komutuyla sonuc değişkenine atamış olduğumuz işlem sonucunu ekrana yazdırdık.



22 Mart 2012 Perşembe

Java ile İlk Programımızı Yazalım...


İlk olarak NetBeans IDE 'mizi açıyoruz. Bizi NetBeans arayüzü karşılıyor.



  • Daha sonra File > New Project yada Ctrl+Shift+N kısa yoluyla yeni bir proje açıyoruz.

  • Açılan pencerede, ne tür bir proje oluşturmamız gerektiği isteniyor. Biz Java > Java Application diyerek, Next butonuna basıyoruz.




Buradaki terimleri sırasıyla açıklayalım...
  • Project Name: Projemizin ismi.
  • Project Location: Projemizi nereye kaydedeceğimiz.
  • Project Folder: Projemizi oluşturacağımız klasör.
  • Create Main Class: Ana Class(Sınıf) Oluştur.
  • Set as Main Project: Bu projeyi ana proje olarak belirle.
 Project Name kısmına projemizin ismini vererek Finish butonuna basıyoruz.



  • Daha sonra System.out.println(" "); komutuyla ilk programımızı yazıyor ve çalıştırıyoruz. Yazdığımız programı çalıştırmanın 3 yolu var.
  1. En yukardaki, kırmızı kare içindeki Play butonuna basarak,
  2. Sol tarafta, Projects sekmesindeki ilkCalisma.class sınıfımıza Sağ Tıklayarak, kırmızı dikdörtgen içindeki Run File seçeneğine tıklamak,
  3. Shift + F6 kısayolunu kullanarak.
Sonucumuzu ise aşağıdaki Output sekmesinde görebiliriz.



  • Buda ekrana birşeyler yazdırmanin farklı bir yolu...