Ana içeriğe atla

C’DEN JAVA’YA GEÇEN GENETİK ÖZELLİKLER



Merhaba arkadaşlar bugün ki dersimizde C’den Java’ya geçen genetik bir özelliğe değineceğim.
Bilindiği üzere Java programlama dilinde kullanıcıdan alınan her değer String’dir bu yüzden dolayı, sayılarla ilgili bir işlem yapmak istiyorsak o sayıyı String’den Double ya da Integer’a çevirmemiz gerekiyor. Bu işlem için Java da çeşitli classlar ve metotlar kullanılmaktadır, bunlardan en bilineni “Integer.parseInt(); “ metodudur. Bir örnekle anlatacak olursak bu metodu Integer.parseInt(urunFiyatField.getText())); kullanımı bu şekilde. Gördüğünüz gibi  urunFiyatField adında bir textField’mız var buradan ürün fiyatı üzerinde işlem yapılması gerekiyor bu yüzden Integer.parseInt metodunu kullanıyoruz, urunFiyatField’dan aldığımız değer üzerinde ancak bu şekilde işlem yapabiliyoruz.
PEKİ, JAVA BU ÖZELLİĞİ NEREDEN ALDI?
                Bilindiği üzere Java, C++  programlama dili ile yazılmış bir programlama dilidir. Birçok özellikte C++’ın var olan yapıları ile oluşturulan kısa fonksiyonlar aracılığı ile kullanıcılara sunuluyor.  parseInt metodunun içerisinde barındırdığı çeşitli alt fonksiyonlar ile kullanıcıdan alınan sayıları String’den Integer’a dönüştürüyor, bu metot’un bulunduğu class’ın adı Integer classıdır.
                Şimdi Java’nın String’leri Integer’a dönüştürdüğü C’nin ise char [] dizilerini Integer’a ayrıştırdığı fonksiyonu yaptığım basit bir örnekle açıklayarak, bu sistemin nasıl çalıştığına dair ipucularını yakalamaya çalışalım.

Resim:1

/*Char [] dizisiden alınan değeri Integer’a çevirmek*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>//strdot'u kullanmak için gerekli kütüphane.

int main(int argc, char *argv[]){
int ayrisanDeger;//Tam Sayı değişken.
    char cumle[50];//karakter dizisi
    char cumle2[50];//karakter dizisi
    char *kuyrukPtr;//Pointer(gösterici) değişkeni
    char *kuyrukPtr2;//Pointer(gösterici) değişkeni
    int esc;
  
    while(esc!=27){//tus ESC'ye basılmadığı sürece aşağı daki işlemleri yap.
       printf("Integer bir deger ile baslayan cumle giriniz : ");
       gets(cumle);//gets scanf fonksiyonu gibi kullanıcıdan sayı ya da karakter almasını sağlar diziler aynı zamanda göstericidir o yüzden gets ile &(adres operatörü) kullanmadan kullanılabilir.
       printf("Integer bir deger ile baslayan ikinci bir cumle giriniz : ");
       gets(cumle2);
       ayrisanDeger =strtod(cumle,&kuyrukPtr);/*cumle dizisinin adresi kuyrukPtr'ye kopyalanıyor.
      Sonra strtod ile kuyrukPtr değişkenin içinde ki double sayısı ayrıştırıluyor */
      ayrisanDeger =strtod(cumle2,&kuyrukPtr2);/*cumle2 dizisinin adresi *kuyrukPtr2'ye kopyalanıyor.
      Sonra strtod ile kuyrukPtr değişkenin içinde ki double sayısı ayrıştırılıyor */
      ayrisanDeger=strtod(cumle,&kuyrukPtr)+strtod(cumle2,&kuyrukPtr2);
      //Integer sayıları tespit edilmiş ve ayrıştırılmış gösterici değişkenler toplanıyor.
      printf("Toplam TL %d\n", ayrisanDeger);//Ardından Ayrışan Değerin toplanan ekrana basılıyor.
      printf("1. kuyruk = %s\n",kuyrukPtr);//1.Ayrıştırılmış karakterler ekrana basılıyor
      printf("2. kuyruk = %s\n",kuyrukPtr2); //2.Ayrıştırılmış karakterler ekrana basılıyor
      printf("Cikis icin ESC'ye basiniz .\n");
     esc=getch();//27'nin tuş olduğunu algılatma
   }
system("PAUSE");//yapılan işlemin kullanıcı tarafından görünmesini sağladığı komut.   
return 0;
}           Gördüğünüz üzere arkadaşlar C de String sayıları Integer’a dönüştürme buna benzer bir şekilde gerçekleiyor, yazdığımız her parseInt metotdu. Buna benzer bir uygulama ile gerçekleşiyor. Bugün ki dersimiz bu kadar arkadaşlar ileri ki derslerimizde daha verimli konulara değineceğim bizi takip etmeye devam edin.


Not: bu makale Emrah DEDEOĞLU tarafından yazılmıştır. Öğretim Grv. Alper KAHRİMAN'nın katkılarıyla.


Yorumlar

  1. Bilgiler için teşekkürler devamını bekliyorum...

    YanıtlaSil
  2. Rica ederim, elbette ki devamı gelecek. yorumunuz için teşekkürler.

    YanıtlaSil
  3. ilgilendiğiniz için çok teşekkür ederim paylaşımlarınızın devamını bekliyorum..

    YanıtlaSil
  4. Rica ederim nedemek. tabiki devamı gelecektir, siz değerli kullanıcılarında katkılarını bekliyoruz, çünkü bilgi paylaştıkça çoğalır. iyi geceler diliyorum.

    YanıtlaSil

Yorum Gönder

Bu blogdaki popüler yayınlar

Levhalar ve Levha Tektoniği

Başlangıçta tüm kıtaların Pangea adında tek bir kıta olduğu, sonradan parçalanıp dağılarak zamanla günümüzdeki yerlerine ulaştığı görüşüne dayanan kıtaların kayması kuramını aslında 1912'de bir meteorolog olan Alman bilim adamı Alfred Wegener ortaya attı.

Gezegenlerin Türkçe Adları

Vâr oluştan bu yana, tüm kişioğlunuñ (insanoğlunuñ) ilgisiñi çekmiştir gökyüzü. Eski kişiler de gökyüzünde erişilmez olan dahası kimi oğur (zaman) tapındıkları bu nesnelere adlar takmışlardır. Öyle ki, “güneş, ay, yıldız” gibi bir takım gök nesneleriniñ adları töz (temel) sözcükler olarak taplanır (kabūl edilir).

REYHANLI AŞİRETİ BOYBEYİ MURSELOĞLU HAYDAR BEY'İN AFFI VE MARAŞ'A İSKANI Ö

Teşkilatçı bir yapıya sahip olan Maraş Valisi Kalender Paşa, bölgesindeki Türkmen Aşiretlerini kendi aralarında örgütleyerek hem aralarındaki anlaşmazlıkları asgariye indiriyor hem de bölgede kendi gücünü ortaya koyuyordu.