Serkan Ayyıldız

Meraklı bir yazılım uzmanı...

Java ile Basit Hesap Makinesi

Selam Java Geliştiriciler :)

Yeni bir java makalemizde yine birlikteyiz ve bugün java programlama dili ile küçük bir hesap makinesi
yapacağız.Aslına bakarsanız yaptığımız uygulama basit bir hesap makinesinden öte java ile değişken
dönüşümlerini gerçekleştirip bu değişken tiplerini matematiksel işlemlerde kullanmayı öğreneceğiz.
Tabi bir önceki makalemi okuduysanız kafanıza takılan soruların cevabını yine bu yazımda bulabilirsiniz.

Öncelikle NetBeans IDE'mizi açalım ve hesapMakinesi adında yeni bir proje açalım,ancak artık adım adım
nasıl proje açılır diye göstermiyorum çünkü önceki makalelerimde öğrenmiştiniz :)

Projemizi açtıktan sonra öncelikle bir form ekleyelim:

java form

java form uygulaması

Formumuz hazır olduğuna göre şimdi 2 jLabel, 2 jTextField ve 1 jButtonu formumuza sürükleyip bırakalım:

java form

Şimdide kontrollerimize isim vermeye geldi,bunun için hatırlayacağınız gibi kontrolümüzü mouse imlecimizle seçtikten
sonra sağdaki Properties penceresini kullanıyoruz.
jLabellara aşağıdaki gibi isimlendiriyoruz,jTextField ve jButton kontrollerine ise variable-name özelliklerine "jSayi1","jsayi2","jHesapla" isimlerini verelim:

jButton variable name

Tabi jTextField'lerin text özelliğini "-" işaretleriyle doldurmayı unutmayalım :)

java hesap makinesi

Artık hazırsak projemizi derleyelim,unutmadıysak bunun için F6 tuşunu kullanıyorduk ve derleme sonrasında çalıştırmak için Shift+F6 tuşuna basıyoruz (ya da soldaki projects penceresinde formumuza sağ tıklayıp "run file" ı seçiyoruz)  ve formumuzu çalıştırıyoruz.

Şu anda formumuzun jButton kontrolümüz için herhangi bir kod yazmadığımız için butona tıklasanız dahi herhangi bir sonuç alamayacaksınız.

Bu yüzden formu kapatıp projemize dönüyoruz:

java-jbutton

Yukarıdaki gibi yönergeleri takip edip butonumuzun "actionperformed" yani Microsoft diliyle konuşursak "click" eventine kod yazmaya başlıyoruz.

java-jbutton-actionperformed

kod bloğu içerisinde değişkenlerimizi tanımlıyoruz:

java-integer

Gördüğünüz gibi jSayi1 ve jSayi2 isimli jTextFieldlerimizin içine yazılacağı yazıyı GetText() metoduyla aldıktan sonra Integer sayısal değişken tipine Parse metoduyla dönüştürüp,yine sayısal olan sayi1 ve sayi2 değişkenlerine atadık.
Eğer değişken dönüşümlerinde daha önceden bilgi sahibi değilseniz,dönüşüm işlemlerini sağdan sola doğru okumanızı öneririm.

Yukarıdak yaptığımız dönüşümü tekrar özetlersek jTextBox kontrollerimizin içine yazılan yazıyı alıp sayısala dönüştürüp,tekrar sayısal olan bir başka değişkene atamış olduk.

Şimdi ise bir toplama işlemi yapalım ve sonucu ekranda mesaj kutusu ile gösterelim,toplama işlemini tahmin ettiğiniz gibi bildiğiniz matematikteki gibi "+" işaretiyle gerçekleştiriyoruz:

java toplama işlemi

Sonuç yine sayısal bir işlem olacağı için sayıları kendi aralarında topladıktan sonra "topla" isimli integer sayısal tipinde yeni bir değişken tanımladık ve sonucu ekranda mesaj kutusu ile göstermek için JOptionPane classının showMessageDialog metodunu seçip ikinci parametresine topla değişkenini yazdık.

Programımızı çalıştırarak test ediyoruz:

java hesap makinesi

Toplama işlemi doğru çalıştığına göre kodlarda bir sorun yok demektir.

Burada özellikle bir noktaya değinmek istiyorum,eğer C# ya da diğer Microsoft dillerinde yazılım geliştirebiliyorsanız ya da düşünüyorsanız değişken dönüşümleri konusu altında MessageBox.Show() metodunu göreceksiniz ve bu metot Java dilindeki JOptionPane.showMessageDialog() metotuna karşılık denk geldiği halde,metotun içerisinde illa string tipinde bir değişken ya da metin girilmesini şart koşuyorken bu örneğimizde gördüğünüz gibi sayısal bir değişkeni ayrıca herhangi bir değişkene dönüştürmeye gerek kalmadan ekrana yansıtabiliyor.

Eğer bu makalede mesela bir C# uygulaması geliştiriyor olsaydık;

JOptionPane.showMessageDialog("rootPane",topla);
satırını

MessageBox.Show(topla.ToString());
şeklinde yazmamız gerekirdi.

Konumuza dönersek şimdi de bir çıkarma örneği yapalım ve önceki kodlarımızdan yalnızca son iki satırı yorum satırı haline çevirelim.

Java'da Yorum Satırı:
Java'da bir kod satırını yorum satırı haline getirdiğimizde program derlenirken ve çalışırken yorum satırı haline getirilen kısım yoksayılır,ve bir satırı yorum satırı haline getirmek için "//" karakterlerini,birden çok satırı tek seferde yorum satırı haline getirmek için ise satırları arasına alacak şekilde "/**/" işaretlerini kullanırız.

java çıkarma işlemi

Önceki satırları yorum satırı haline getirdikten sonra yine sayi1 ve sayi2 değişkenlerini kullanarak "-" işaretiyle çıkarma işlemi yapıyoruz.

Çarpma işlemi için ise:

java çarpma işlemi

"*" işaretini kullanarak çarpma işlemini gerçekleştirebiliyoruz.

Bölme işlemi için:

java bölme işlemi

"/" işaretini kullanıyoruz.Ancak "/" işareti yerine "\" işareti yaparsanız hata alırsınız,bunun sebebi "\" işareti bir kaçış sekansı (escape sequance) olmasıdır.Bu konuyu ilerleyen zamanlarda anlatacağım.

Son olarak javada mod alma işlemini görelim:

Java Mod Alma

Peki Mod Alma Nedir?

Mod,matematikte aslen bölme işleminde kullanılan bir terimdir.Bir sayının bir başka sayıya bölündükten sonra kalan hanesindeki sayıya "mod" denir.Ancak mod alma işlemindeki "%" işareti sizi sayının yüzdesini alıyoruz yanılgısına düşürmesin zira programcılıkta % işareti yüzde hesaplamayı değil,mod almayı temsil etmektedir.

Buraya kadar hep hesaplama işlemi yaptık,bir önceki makalemde String tipindeki değişkenin nasıl dönüştürüldüğünü inceleyelim:

java string değişken

Burada gördüğünüz gibi yine sayi1 isimli jTextField kontrolümüzdeki yazıyı getText() metoduyla alıp bu defa String.Format() değişkenimize aktarıyor ve String metinsel değişken tipindeki "kelime" değişkenine yüklüyoruz.Tabi String.Format() yerine String.valueOf() metodunun da aynı işlevi gösterdiğini belirteyim.

Java ile Double değişken tipi ise biraz enteresan diyebilirim;double değişken tipine bir veri aktarmak için dönüştürmek istediğiniz veri ya String tipinde ya da yine double tipinde olmak zorunda,aksinde değişken dönüşüm hatası alıyorsunuz.

Aynı örnekten yola çıkarsak sayısal int tipindeki "sayi1" değişkenimizi ele alalım:

java double değişkeni

Burada int tipindeki sayi1 değişkenimizi doğrudan double tipine dönüştürmek yerine önce string tipinde "sayi" değişkenine dönüştürüyor,ardından sayi değişkenimizi double değişkenimize yüklüyoruz.

Java dilinde değişken dönüşümlerini tek cümle ile özetlersek; bir veriyi (jTextField'den alacağımız ya da elle yazabileceğimiz) bir başka değişken tipine dönüştürmek istiyorsak en kısa yöntem YeniDegiskenTipi.valueOf() metodunu kullanmaktır.

Gördüğünüz gibi Java ile basit bir hesap makinesi yaptık ve yazımızın sonuna gelmiş bulunuyoruz.
Faydalı olacağını umuyor hoşçakalın diyorum :)

Projeyi İndir

5 Yorum:

  1. Ahmet Turan Öztürk
    12/8/2013

    Elinizdeki script özgün mü yoksa sizin tarafınızca mı yazıldı. Kolay gelsin.

  2. Serkan Çamur
    12/9/2013

    Merhabalar Ahmet Turan Öztürk, Bu blogda yazılan yazıları ve ders konusundaki tüm görselleri kendim hazırlamakta ve herhangi bir yerden alıntı kullanmıyorum.

  3. cemile tan
    11/11/2013

    benim mail adresim "tancemile@gmail.com" sercan bey bana ulaşabilir misiniz teşekkürler kolay gelsin bekliyorum...

  4. EmRe
    9/25/2014

    kolay gelsin abi. kurulum olarak 7.0.1 sürümünü göstermişsin ama bu makalende 7.3 sürümü kullanılmış bi farklılık yaratırmı. Çünkü 7.0.1 sürümünü kullandığım programda hesap makinesi adlı projede hata alıyorum.

  5. Serkan Çamur
    9/26/2014

    Merhaba Emre,sürümler arasında herhangi bir farkın olması çok şey değiştirmez.Makalede anlatılanları bire bir uyguladığında sorun çıkmaması gerekiyor,yazdığın kodlara tekrar bakmanı öneririm.Kolay gelsin :)

Bir yorum bırak E-posta adresiniz yayınlanmayacaktır.

Menu