Java da Veri Tipleri ve Değişkenler – Java Eğitimi 6

Merhabalar, bugün ki yazımızda, Java programlama dilinde veri tipleri ve değişkenler konusu üzerinde duracağız. Bu konuyu tamamlayınca, hangi veri tipini nerede kullanabileceğimize dair kafamızdaki soru işaretleri sona erecektir. (umarım 🙂 )

Evet… Öncelikle Java programlama dilinde neden veri tipleri ve değişkenleri kullanırız? Daha doğrusu bu soruyu şöyle değiştirmek daha doğru olacaktır. Veri tipleri ve değişkenler programlama yapılırken neden kullanılır? Bu sorunun cevabını şu şekilde verebiliriz. Veri tipleri ve değişkenler yazdığımız programların olmazsa olmazıdır. Herhangi bir değeri tutmak istediğimizde, bir değişkene atarız. Tekrar o değeri istediğimizde değişkeni çağırırız. Yani akılda tutulması gereken değerleri bu alanlara atarız. Kısacası değişkenler, temel depo birimidir diyebiliriz. Veri tiplerini iki başlık altında inceleyebiliriz.

  • İlkel (Primitif) Veri Tipleri
  • Referans Veri Tipleri

İlkel (Primitif -Primitive) Veri Tipleri

Java da ilkel yani primitif veri tiplerini şu şekilde gruplayabiliriz.

  1. Tam Sayılar
  2. Ondalık Sayılar
  3. Karakterler
  4. Mantıksal Tipler

Aşağıdaki tabloda, ilkel yani primitif veri tiplerinin özellikleri verilmiştir. İnceleyebilirsiniz.

İlkel Veri Tipi Uzunluk Minumum Deger Maksimum Deger Var olduğu Sınıf Varsayılan Deger
char 16 bit unicode 0 unicode 216-1 Character ‘\u0000’
long 64 bit -263 263-1 Long 0l
int 32 bit -231 231-1 Integer 0
short 16 bit -215 215-1 Short 0
byte 8 bit -27 27-1 Byte 0
double 64 bit -3.4*1038 3.4*1038 Double 0.0d
float 32 bit – 1.7*1038 1.7*1038 Float 0.0f
boolean 1 bit Boolean false

 

Üstteki tabloyu incelediğimizde, ilkel veri tiplerinin char, long, int, short, byte, double, float ve boolean olduğunu görüyoruz. Bu veri tiplerinin bir sınırının olduğunu da görüyoruz. Bu sınırlar uzunluk adı altında belirtilmiş olup, alabileceği minimum ve maksimum değerlerinde verilmiş olduğunu görüyoruz. Var olduğu sınıf yani bu veri tiplerini oluşturan sınıfın ne olduğunu da görebiliyoruz. Varsayılan değerler kısmında da bu ilkel tiplere bir atama yapılmadığı zaman hangi değeri aldığını görebiliyoruz. Bunları inceleyebilirsiniz.

[tabs type=”horizontal”]
[tabs_head]
[tab_title] byte [/tab_title]
[tab_title] short [/tab_title]
[tab_title] int [/tab_title]
[tab_title] long [/tab_title]
[/tabs_head]
[tab] byte en küçük tam sayı veri tipidir. 8 bit uzunluğundadır. en yüksek değeri 127 dir. En düşük değeri ise -128 dir.

byte aSayisi = 30;

Tanımlanması üstteki gibidir. Üstteki komutun anlamı, tipi byte olan ve aSayisi olarak adlandırılan bir değişkendir. Tuttuğu değerin ise 30 olduğunu görebiliriz. [/tab]
[tab] short 2. veri tipimizdir. Kısa tam sayıları tutar. Bellekte 16 bitlik yer tutar. Aşağıdaki gibi tanımlanabilir.

short bSayisi = 220; [/tab]
[tab] int veri tipi ise en çok kullanılandır. Bunun sebebi ise aralığın optimum seviyede olmasıdır. Long ile short arası değerleri tutar diyebiliriz. 32 bitlik bir uzunluğu vardır. Aşağıdaki gibi tanımlanabilir.

int cSayisi = 54256; [/tab]

[tab]long ise en büyük tam sayı veri tipimizdir. Int veri tipinin yetersiz kaldığı durumlarda kullanmak mantıklıdır. Hafızada 64 bitlik ver kapladığından maksimum değer ve minimum değer aralığı çok geniştir. Aşağıdaki gibi tanımlanabilir.

long dSayisi = 749794649497;[/tab]
[/tabs]

Madem bu kadar veri tipi var, hangisini kullanmalıyım sorusunu kendinize sorabilirsiniz. Bunun cevabını şu şekilde verebilirim. Kullanacağınız veri tipi, sizin istediğiniz değerleri karşılayabiliyor mu? İleri de sıkıntı yaratma durumu olabilir mi? Bu soruların cevabını bulduğunuzda, bu kararı vermek kolaylaşır. Çoğu zaman aslında bunu önemsemeden int kullanırız. Çünkü işimizi her halükarda görmektedir. Bunun dezavantajını pek hissetmeyiz. Çünkü günümüz donanımlarında bellek miktarları yüksek olduğu için, büyük sıkıntılar yaşamayız. Ama programın stabil olması açısından özen gösterirsek(ki çok çok çok az etkisi olur aslında), belki küçük ama vicdanımız için büyük bir rahatlama olabilir. Şahsen bu rahatlamayı yaşamıyorum ama :=)

Tam sayı veri tiplerini inceledikten sonra şimdi de reel sayıları tutan veri tiplerini görelim.

[tabs type=”horizontal”]
[tabs_head]
[tab_title] Float [/tab_title]
[tab_title] Double [/tab_title]
[/tabs_head]
[tab] 32 bit uzunluğundaki reel sayıları tanımlamak için kullanılır. Float veri tipini tanımlarken dikkat etmemiz gereken nokta, değer ataması yaparken sonuna f ya da F yazmamız gerekliliğidir. Bunun sebebi ise, Java programlama dilinde, derlenme aşamasında, f ya da F yazmadığımız takdirde bu değerin double olarak değerlendirilmesidir. Bunları yazmazsak hata alırız. Tanımlanması aşağıdaki gibidir.

float aSayisi = 45.4f; [/tab]
[tab] 64 bit uzunluğundaki reel sayıları tutan veri tipidir. Görüldüğü üzere aralığı baya geniştir. Aşağıdaki gibi tanımlanabilir.

double bSayisi = 654; [/tab]
[/tabs]

Evet… Şimdi ise diğer veri tiplerini inceleyelim.

[box type=”note” align=”” class=”” width=””]char veri tipi 16 bit uzunluğundadır. Bunun sebebi unicode karakter setinin kullanılmasıdır. Bildiğiniz üzere C/C++ ailesinde char veri tipi 8 bit uzunluğundaydı. Peki 8 bit ya da 16 bit olması olayı. Bu kadar önemli mi? sorusunu sorabilirsiniz. Evet oldukça önemlidir. Java programlama dilini ön plana çıkaran büyük yeniliklerdendir. 16 bit olması sayesinde, içerisindeki karakter zenginliğiyle uluslararası bir program yazılacağı zaman Java dilini ön plana çıkaran büyük bir yeniliktir. Aşağıdaki gibi tanımlanır

char a = ‘A’;

Dikkat edildiği üzere char veri tipine veri atarken tek tırnak kullanılır.[/box]

Evet bu veri tipini de bitirdikten sonra mantıksal değerleri kullanabileceğimiz veri tiplerine geçebiliriz.

[box type=”note” align=”” class=”” width=””]boolean, Java programlama dilinde mantıksal değerleri saklamak için kullanılan bir veri tipidir. Sadece iki değer alabilir. True ve False… Bu değerleri makine dilindeki 1 ve 0‘lar olarak düşünebilirsiniz. Peki nerelerde bu veri tipini kullanırız? Bu sorunun cevabını şu şekilde verebiliriz. Genellikle koşul sunulan ifadelerde veya döngü var döngüyü devam ettirmek ya da durdurmak isterken kontrol amaçlı kullanıldığını söyleyebiliriz. boolean veri tipi aşağıdaki gibi tanımlanır.

boolean a = true; [/box]

Referans Tipleri

Aslında bu konuyu iyi anlamak gerekir. Aksi halde kafamız karışacaktır. Referans tipleri sınıf mantığının oluştuğu yerdir. Örneğin biraz önce işlediğimiz int veri tipinin aslında sınıfının Integer olduğunu söyleyebiliriz. Peki Integer olarak da tanımlayabiliyorsak, neden int veri tipini kullanıyoruz? Bu sorunun cevabını verebilmek için aralarındaki farkı anlamak lazım. Bu sadece int veri tipi için geçerli değil, aynı zamanda diğer işlediğimiz veri tipleri içinde geçerlidir. Şimdi biraz önce bahsettiğim farkları inceleyerek bu sorunun cevabını bulalım.

  1. int ilkel bir veri tipidir. Integer ise bir class’dır.
  2. Integer bir değişkendir, int ise veri tipidir.
  3. Integer kullandığımızda içindeki metotları kullanabiliriz. Fakat int veri tipini kullandığımızda bunları kullanamayız.

Üstte verdiğim sebeplerden ötürü, kafanızda bir şeyler oluşmuştur. Gerçek manada programlamaya başladığınız zaman bu ifadelerin ne anlama geldiğini anlayacaksınız.

Şimdi ise Karakter Kümelerinden olan String yapısını inceleyelim.

[box type=”note” align=”” class=”” width=””] String, karakterlerin bir araya gelerek oluşturduğu değişkenler için kullanılan veri tipidir. Tanımlanması yapılırken çift tırnak (“”) kullanılır.  Aşağıdaki gibi tanımlanabilir.

String isim = “Ali Demirci”; [/box]

Evet… String ifadesini de gördükten sonra, Değişken kelimesini anlamaya çalışalım. Değişken, programlarımızı yazarken, gerekli olan değerlerin tutulması için kullanılan, yeri gelince değiştirebildiğimiz duruma verilen isimdir. Java programlama dilinde değişken tanımlarken, veri tipinin belirtilmesi zorunludur. Bu da Java programlama dilini type-safe  yapan durumdur. Peki değişken nasıl tanımlanır? Aşağıdaki ifadeyi inceleyerek bu sorunun cevabını bulalım.

Erişim Türü – Veri Tipi – Değişken Adı – Değişken Değeri

public int aSayisi = 5;

public, private, protected gibi erişim türü ifadeleri kullanılabilir. Bu konuyu daha önce işlemiştik. Dilerseniz önceki derslere bakabilirsiniz.

Veri tipi olarak, zaten bu konuda işlediğimiz veri tiplerini biliyorsunuz :=)

Peki değişken tanımlarken dikkat etmemiz gereken noktalar var mı?

Evet var ve bu noktaları şu şekilde açıklayabiliriz.

  • Değişken ismini verirken boşluk bırakamayız.
  • Değişken adlarına bazı özel isimleri veremeyiz. Private, String gibi
  • Değişken ismini verirken rakam ile başlatamayız. Fakat daha sonradan rakam kullanabiliriz.

Bugün dersi burada noktalayalım. Umarım anlaşılır olmuştur. Eğer anlamadığınız bir nokta olursa, yorum kısmına mesaj atarak belirtebilirsiniz. Okuduğunuz için çok teşekkür ederim. Bir sonraki dersimiz de bu veri tiplerinin birbirleriyle olan dönüşümlerini örneklerle anlamaya çalışacağız.

 

 

 

Ali Demirci

1991 Ankara doğumluyum. Bilgisayar Mühendisliği bölümü 2013 mezunuyum. Bakanlığın bir kurumunda, Sistem(Linux, Windows Server) üzerine çalışmaktayım. Fakat boş zamanlarımda, kendimi yazılım konusunda da geliştirmekteyim. 20'ye yakın Android programım vardır. Her türlü soru(n)larınızda iletişime geçmekten çekinmeyin.

Java da Veri Tipleri ve Değişkenler – Java Eğitimi 6” için bir yorum

  • 10 Ağustos, 2016 tarihinde, saat 21:22
    Permalink

    Öncelikle kolay gelsin,

    İş yerinde kullandığım birkaç Excel formülü var. Bunları sürekli yanımda taşımak için Android programı haline getirmeye çalışıyorum ancak bir sorunum var;

    Math.pow((2.6/2000),2) bu işlemin sonucu hesap makinesi ve Excel’de 0,00000169 dur.
    Android programında ise 1,69E-6 olarak çıkıyor bunun nedeni hakkında bilgin var mı?

    Yanıtla

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir