Anotasyon

Temel Java Dersleri – Java Veri Tipleri ve Değişkenler

Merhaba Arkadaşlar,
mobilhanem.com üzerinden yayınladığımız/anlattığımız derslerimize Temel Java Dersleri serisi altında Java Veri Tipleri ve Değişkenler konusuyla devam ediyoruz.

Önce ki derslerimizi inceleyen arkadaşlar, IntelliJ IDEA IDE’si üzerinde nasıl proje hazırlanacağı ile ilgili fikir sahibi olmuşlardır. Bu dersimizde biraz daha temel konuları ele alacağız. Java Veri Tipleri ve Değişkenler kod geliştirme aşamasında büyük önem arz etmektedir. Bu dersimizde “tam sayı”, “reel sayı”, “karakterler” ve “mantıksal değer” değişkenlerinden bahsedeceğiz. Bu değişkenler dışında diziler ve string hakkında detayları bir sonraki dersimizde ele alacağız.

Tam Sayılar Reel Sayılar Karakterler Mantıksal Değerler
byte float char boolean
short double
integer
long

Java Veri Tipleri ve Değişkenler ‘in detaylı anlatımlarına geçmeden önce genel olarak bir değişkenin nasıl tanımlandığını göstermeye çalışalım.

veriTipi değişkenAdi = değişkenDeğeri;

Veri tipleri yukarıdaki tabloda gördüğünüz byte, short, int, long, float, double, char veya boolean olabilir. Değişken adı tamamen geliştiriciye kalmış değişkene verilen isimdir.

Tam Sayılar

Java Veri Tipleri ve Değişkenler - 1

Java Veri Tipleri ve Değişkenler konumuza tam sayı veri tipleriyle başlıyoruz. Java’da 4 çeşit tam sayı tipi vardır, bunlar diğer tüm yazılım dillerinde olduğu gibi bit lerle ifade edilir. Her bir tipin bit olarak bir büyüklüğü ve destek verdiği bir aralık vardır.

BYTE: byte en küçük tam sayı tipidir. Büyüklüğü 8 bit tir ve -128 ile +127 arası değer alır. Kod geliştirirken byte anahtar kelimesi ile tanımlama yapılır.

byte byteDeger = 45;

Yukarıda görmüş olduğunuz kod satırında byte veri tipiyle değeri 45 olan “byteDeger” değişken adıyla bir tanımlama yapılmıştır. Yukarıda tanımlanan byteDeger değişkenine -128’den küçük veya +127’den büyük bir değer tanımlandığı takdirde geliştirme anında hata ile karşılaşılacaktır.

SHORT: Büyüklüğü 16 bit olan short veri tipi -32768 ile +32767 arasında bir değer alabilir. Kod geliştirirken short anahtar kelimesi ile tanımlama yapılır.

short shortDeger = 64;

Yukarıda görmüş olduğunuz kod satırında short veri tipiyle değeri 64 olan “shortDeger” değişken adıyla bir tanımlama yapılmıştır. Eğer değer olarak -32769 veya 32678 verseydik geliştirme anında hata ile karşılaşacaktık.

INTEGER: En çok kullanılan veri tipidir. 32 bitlik veri tipi, -2.147.483.648 ile 2.147.483.647 arasında bir değer alabilir. Kod geliştirirken int anahtar kelimesi ile tanımlama yapılır.

int integerDeger = 75;

Yukarıda görmüş olduğunuz kod satırında integer veri tipiyle değeri 75 olan, “integerDeger” değişken adıyla bir tanımlama yapılmıştır. Eğer yukarıda belirttiğimiz değer aralığından daha küçük veya daha büyük bir tanımlama yapılırsa geliştirme anında hata ile karşılaşılır.

LONG: En büyük tam sayı değeridir. 64 bitlik büyüklüğe sahiptir ve -9,223,372,036,854,775,808 ile 9,223,372,036,854,775,807 arasında bir değer alabilir. Kod geliştirirken long anahtar kelimesi ile tanımlama yapılır. Integer veri tipinin yetersiz olduğu durumlarda kullanılabilir. Bu duruma en güzel örnek ise bilimsel hesaplamalar veya Türkiye Cumhuriyeti Vatandaşlık Numarası tanımlamaları verilebilir.

long longDeger = 234;

Elbetteki bu tipleri sahip oldukları değer aralıklarına göre kullanmak çok mantıklı olmayacaktır. Bunun yerine tecrübe ettikçe hangi işlem için hangi veri tipi kullanılır rahatlıkla karar verebilirsiniz. Örneğin programda kullanıcının yaşıyla işlem yapacaksanız int veya bir dosyadaki verileri okuyacaksanız byte veri tipini kullanmanız en mantıklı yöntem olacaktır.

 

Reel Sayılar:

primitive1

Java’da iki çeşit reel sayı tipi vardır. Tam sayı tiplerinde olduğu gibi reel sayı tipleri de bit lerle ifade edilir. float veri tipi 32 bitlik büyüklüğe sahipken double veri tipi 64 bit lik büyüklüğe sahiptir.

FLOAT: float veri tipi 32 bitlik büyüklüğe sahiptir ve 1.4×10^-45 ile 3.4×10^38 aralığında bir değer tanımlanabilir. float olarak belirlenmiş olan veri tipine integer bir değer atandığı takdirde java tarafından direk olarak 1.0 şeklinde algılanır. Geliştirme aşamasında hata oluşmaz. Fakat float veri tanımlarken (.) noktadan sonra değişken değerinin sonuna “f” veya “F” koyulmadığı takdirde geliştirme esnasında hata alınacaktır. Sebebi ise javanın bu değişkeni double olarak algılayacak olmasıdır. Aşağıdaki örneklerle konuya biraz daha açıklık getirmeye çalışalım.

float floatDeger1 = 35.4f; //dogru tanim
float floatDeger2 = 4.5F; //dogru tanim
float floatDeger3 = 67; //dogru tanim
float floatDeger4 = 45.0; //hatali tanim
float floatDeger5 = 34.65; //hatali tanim

float veri tipinin sonuna “f” veya “F” koyulmadığında Java bu tanımlamadaki veri tipini double olarak algılayacağı için geliştirme anında hata verecektir. Kod geliştirirken float anahtar kelimesi ile tanımlama yapılır.

DOUBLE: double veri tipi 64 bitlik büyüklüğe sahiptir ve 4.9×10^-324 ile 1.8×10^308 arasında bir değer tanımlanabilir. Kod geliştirirken double anahtar kelimesi ile tanımlama yapılır.

double doubleDeger = 34.5;

 

Karakterler:

CHAR: Java da karakterler char veri tipi içinde saklanır. C/C++ gibi yazılım dillerinde char veri tipi 8 bitlik büyüklüğe sahipken, Java’da 16 bitlik büyüklüğe sahiptir. Bunun sebebi Java’nın Unicode karakter setini kullanıyor olmasıdır. Ayrıca Java ASCII kod yapısını da desteklemektedir. Kod geliştirirken char anahtar kelimesi ile tanımlama yapılır.

char charDeger1 = 65;
char charDeger2 = 'A';

Yukarıda tanımlanan değişkenlerin ikisi de A karakterini belirtmektedir.

 

Mantıksal Değerler:

BOOLEAN: Java mantıksal değerlerini saklamak için boolean veri tipi kullanılmaktadır. Boolean veri tipi true ve false olmak üzere iki farklı değer alabilmektedir. boolean veri tipi genellikle koşul belirtirken veya bir döngüde kullanılabilir. Kod geliştirirken boolean anahtar kelimesi ile tanımlama yapılır.

boolean booleanDogru = true;
boolean booleanYanlis = false;

Aşağıda ki örnekte oluşturduğumuz sınıf içerisinde bahsettiğimiz tüm veri tiplerini tanımlayıp, örneklendirelim.

package com.mobilhanem.javaders;

/**
 * Created by ErenBasaran on 25/08/16.
 */
public class MainClass {

    public static void main(String[] args) {

        byte byteDeger = 4;
        short shortDeger = 7;
        int integerDeger = 234;
        long longDeger = 12332;

        float floatDeger = 34.5f;
        double doubleDeger = 345.2;

        char charDeger1 = 65;
        char charDeger2 = 'A';

        boolean dogruDeger = true;
        boolean yanlisDeger = false;

        System.out.println("Byte Değer: " + byteDeger);
        System.out.println("Short Değer: " + shortDeger);
        System.out.println("Integer Değer: " + integerDeger);
        System.out.println("Long Değer: " + longDeger);

        System.out.println("Float Deger: " + floatDeger);
        System.out.println("Double Deger: " + doubleDeger);

        System.out.println("Char Deger 1: " + charDeger1);
        System.out.println("Char Deger 2: " + charDeger2);

        System.out.println("Boolean Dogru: " + dogruDeger);
        System.out.println("Boolean Yanlis: " + yanlisDeger);
    }
}

 

Bu dersimizde sizlere Java Veri Tipleri ve Değişkenler hakkında bilgi vermeye çalıştık. Dersimizde bahsettiğimiz veri tipleri “Primitive” veri tipleri olarak geçmektedir. Bu tipler dışında kalan diğer veri tiplerine ilişkin derslerimizi önümüzdeki günlerde hazırlayacağız.

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.

Tüm Temel Java Dersleri için tıklayınız..

134

Eren Başaran

Software Developer
Mobilhanem Yazarı

15 Yorum

    • Merhaba,

      Bilgiler ve anlatım için teşekkürler.Benim takıldığım bir nokta oldu .java uzantılı dosyaları sadece not defteri olarak açabiliyorum. PC de JRE ve JDK yüklü olmasına ve birlikte aç seçeneklerinden bunlarla açmayı denediysem de olmadı.Ama IDE ler içerisinde çalıştırdığımda herhangi bir sorun olmadı.Windows 7 kullanıyorum.Bir öneriniz var mı? .java uzantılı dosyalara çift tıklayınca direkt olarak çalıştırması gerekmez mi?

    • Hata detayını paylaşırsan yardımcı olmaya çalışayım. Aslında MainClass ismiyle bir sınıf oluşturup son örnekteki kodları alırsan çalışması gerekiyor.

  • float floatDeger1 = 35.4f; //dogru tanim
    float floatDeger2 = 4.5F; //dogru tanim
    float floatDeger3 = 67; //dogru tanim (Bunun sonunda “F” yada “f” yok neden doğru tanım ??)
    float floatDeger4 = 45.0; //hatali tanim
    float floatDeger5 = 34.65; //hatali tanim

    • Konu anlatımında eksik kalmış sanırım o kısmı uygun şekilde düzenleyeceğim. Şöyleki sen float bir değere integer veri tipinde tanımlama yaparsan java onu direk float olarak algılayabilir.

      floatDeger3 = 67;

      olarak tanımladığın float değişkeni

      System.out.println(floatDeger3);

      olarak yazdırırsan çıktının 67.0 olduğunu görürsün.

  • İlk defa java çalışan bir kişi olarak buraya kadar sorunsuz geldim Burada da herşeyi ezbeleyemesemde anladım Fakat reis “1.4×10^-45 ile 3.4×10^38 ” bunun arası nedir. yani bu nasıl bir işlemdir ki ben yapacağım işin bunun arasında olup olmadığını bilecem aynı şekilde DOUBLE de var” 4.9×10^-324 ile 1.8×10^308 arasında bir değer tanımlanabilir.” demişsin. Abi bunun arası ne olabilir hiç bir fikrim yok 🙁

    • 10 sayisinin ussune gelen sayilar 1 sayisinin yanina gelen us degeri kadar 0dir.
      yani 10 uzeri 1 = 10
      10 uzeri 6 = 1000000

      3.6 × 10 uzeri 6 = 3.6 × 1000000 = 3600000 eder.

      eger uzerindeki sayi negatifse yani 10 uzeri -6 ise

      10 uzeri -6 = 0.000001 eder.
      1.4×10^-45 ile 3.4×10^38 =
      0.000000000000000000000000000000000000000000014
      ile 1800000000000000000000000000000000000000…. arasinda bir sayi eder.

      • Sayın Hocam ilk defa java gören biri olarak yeni yeni alışmaya çalışıyorum.Yalnız ben bu dersi baştan sona anlamadım.Bazı şeyleri anladım hani belli değerler var bu değerleri nerde kullancam.Bu veri tipleri ileride benim nasıl işime yarayacak tam anlayamadım.Siz buna cevap verirken ben diğer derslere devam edeceğim.Belki de bu sorduğum soruların cevabını ordan bulurum.

  • Java da karakterlei tam olark söylemediniz mesela int tamsayıdır size sadece öneride bulundum bir öğrenci olarak

  • öncellikle ellerine sağlık duacıyız abi. sorum net sizi hangi programdan takip edelim ?? eclipse dedin sonra intellij oldu sonuç biz sizi hangisiyle takip edelim ? örneklerin hangi program üzerinden oluyor ???

    • Aga bütün İDE lerde olr. İDE sadece program geliştirmeni sağlar bütün İDElerin temel amacı budur.Hepsine uyumlu anlayacağın bi kaç deişken şey wardır onlarrda page açma class açma ,oluşturma gibi Eclipsedede skntı oolmaz

  • float floatDeger3 = 67; //dogru tanim

    Yanlış yazılmış san ki. Bu hatalı tanım değil mi?

  • long veri tipinde bir veri girişi yapıldığında ideler bu değeri otomatik olarak int olarak görmekte. long olarak anlaması için değerin sonuna L harfi konulmalı.

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?