Java’da Veri Tipleri Ve String Fonksiyonları

Bu yazıda sizlere JAVA’da değişkenleri tanımlarken kullanabileceğimiz veri tiplerinden bahsedeceğim. Genel olarak yazı içerisinde ilkel ve ilkel olmayan veri tiplerinin neler olduğundan bahsedeceğim ve ardından birkaç örnek ile nasıl kullanılabileceklerini göstereceğim.

JAVA’da veri tipleri ikiye ayrılır. Bunlardan ilki JAVA’da varsayılan olarak gelen veri tipleridir. Bu veri tiplerine ilkel veri tipleri denir.

JAVA’da kullanılabilen diğer veri tipleri ise kullanıcı tarafından tanımlanabilen ilkel olmayan veri tipleridir.

Değişkenleri tanımlarken değişkenin veri tipini mutlaka belirtmemiz gerekir. Ayrıca bir değişken hangi veri tipinde tanımlanmışsa o veri tipinde değer ataması gerçekleştirilmelidir. Aksi takdirde programımız çalıştığında hata alacaktır.

İlk olarak JAVA’da varsayılan olarak gelen ilkel veri tiplerinden bahsedelim.

İlkel Veri Tipleri

JAVA’da ilkel olan 8 tane veri tipi vardır. Bunlar byte, short, int, long, float, double, boolean ve char’dır.

Byte: -128’den 127’e kadar olan tamsayıları saklar. Bellek’te 1 bayt boyutunda yer kaplar. byte anahtar kelimesi ile kullanılır.

byte sayi = 2;

Short: -32,768’den 32,767 kadar olan tam sayıları saklar. Bellek’te 2 bayt boyutunda yer kaplar. short anahtar kelimesi ile kullanılır.

short sayi = 30000;

integer: -2,147,483,648’den 2,147,483,647 kadar olan tam sayıları saklar. Bellek’te 4 bayt boyutunda yer kaplar. int anahtar kelimesi ile kullanılır.

int sayi = 50;

long: -9,223,372,036,854,775,808’den 9,223,372,036,854,775,807 kadar olan tam sayıları saklar. Bellek’te 8 bayt boyutunda yer kaplar. Long veri tipindeki bir değişkene değer atanırken değerin sonuna ‘L’ eklenmelidir. long anahtar kelimesi ile kullanılır.

Long sayi = 50L;

float: Ondalık sayıları saklamak için kullanılır. 1.4×10^-45 ile 3.4×10^38 aralığında bir değer tanımlanabilir. Float veri tipindeki bir değişkene değer atanırken değerin sonuna ‘f’ eklenmelidir. Bellek’te 4 bayt boyutunda yer kaplar. float anahtar kelimesi ile kullanılır.

float sayi = 36.70f;

Double: Ondalık sayıları saklamak için kullanılır. 4.9×10^-324 ile 1.8×10^308 aralığında bir değer tanımlanabilir. Bellek’te 8 bayt boyutunda yer kaplar. Double veri tipindeki bir değişkene değer atanırken değerin sonuna ‘d’ eklenmelidir. double anahtar kelimesi ile kullanılır.

double sayi = 36.7054354d;

Boolean: Mantıksal bir veri tipi olan boolean, True ve False olmak üzere iki değere sahiptir. Mantıksal olarak doğru olan duruma True, yanlış olan duruma ise False değeri karşılık gelir. boolean anahtar kelimesi ile kullanılır. Bellek’te 1 bit boyutunda yer kaplar.

boolean statu = true;

Char: Verilen herhangi bir karakterin kendisini ya da ASCII tablosunda karşılık gelen değerini saklamak için kullanılan veri tipidir. Bellek’te 2 bayt boyutunda yer kaplar. char anahtar kelimesi ile kullanılır.

char karakter = ‘C’;

char karakter = 65;

Buraya kadar ki bölümde ilkel veri tiplerinden ve örneklerinden bahsettik. Şimdi ise ilkel olmayan veri tiplerinden bahsedelim.

Java’da tanımladığımız değişkenlerin veri tiplerini öğrenmek için .getClass() metodunu ya da instanceOf ifadesini kullanabiliriz. Böylelikle tanımladığımız değişkenlerin sınıflarını görebiliriz. Örnek kullanım aşağıdaki gibidir:

INPUT:

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       System.out.println(dize.getClass());
    }
}

OUTPUT:

class java.lang.String
INPUT:

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       System.out.println(dize instanceof String);
    }
}

OUTPUT:

true
İlkel Olmayan Veri Tipleri

Daha öncede bahsettiğim gibi ilkel olmayan veri tipleri JAVA’da tanımlı olmayan programcı tarafından tanımlanan veri tipleridir.  Bu veri tiplerinin örnekleri aşağıdaki şekildeki gibidir:

İlkel Olmayan Veri Tipleri

Biz bu yazımızda sadece String veri tipinden bahsedeceğiz. Diğer başlıklara sonraki yazılarımızda değineceğiz.

String: String, çift tırnak içerisine yazılabilen bir ya da daha fazla harf, sayı veya özel karakterlerden oluşan bir dizidir. Tırnaklar arasına yazılan her karakter dizenin bir parçasıdır.

String dize = “Merhaba”;

JAVA’da String, dizeler üzerinde belirli işlemleri gerçekleştirebilen metodları içeren bir nesnedir. Bu sebeple string ifadeler üzerinde bazı fonksiyonları kullanarak işlemler gerçekleştirebiliriz.

String Fonksiyonları

length() Fonksiyonu : String ifadeler içerisindeki karakter sayısını bulmak için kullanılan fonksiyondur.

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       System.out.println(dize.length());
    }
}

toUpperCase() Fonksiyonu: String ifadeler içerisindeki tüm karakterleri büyük olarak yazmak için kullanılır.

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       System.out.println(dize.toUpperCase());
    }
}

toLowerCase() Fonksiyonu: String ifadeler içerisindeki tüm karakterleri küçük olarak yazmak için kullanılır.

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       System.out.println(dize.toLowerCase());
    }
}

indexOf Fonksiyonu: IndexOf fonksiyonu belirtilen ifadenin string içerisinde geçtiği ilk konumu bulmak için kullanılır. Çıktı olarak metnin string içerisinde başladığı index numarasını döndürür. Index numarasını sayarken boşluklarda dahil edilir.

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       System.out.println(dize.indexOf("a"));
    }
}

contains() Fonksiyonu: İçerisine yazdığımız karakterin ya da karakter grubunun string içerisinde var olup olmadığını sorgular. Çıktı olarak True ya da False döndürür.

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       System.out.println(dize.contains("a"));
    }
}

endsWith() Fonksiyonu: String ifadenin belirtilen karakter ya da karakter grupları ile bitip bitmediğini sorgular. Çıktı olarak True ya da False döndürür.

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       System.out.println(dize.endsWith("a"));
    }
}

equals() Fonskiyonu : İki string ifadeyi karşılaştırmak için kullanılır. Eğer string ifadeler eşitse True değilse False döndürür.

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       String dize1 = "Dünya";
       System.out.println(dize.equals(dize1));
    }
}

isEmpty() Fonksiyonu: Bir string ifadenin içerisinin boş olup olmadığını sorgulamak için kullanılır. Çıktı olarak True ya da False döndürür.

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       System.out.println(dize.isEmpty());
    }
}

replace() Fonksiyonu: Cümle içerisindeki bir karakteri ya da kelimeyi istenilen karakter veya kelime ile değiştirmek için kullanılan fonksiyondur.

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       System.out.println(dize.replace("e","a"));
    }
}

startsWith() Fonksiyonu: String ifadenin belirtilen karakter ya da karakter grupları ile başlayıp başlamadığını sorgular. Çıktı olarak True ya da False döndürür.

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       System.out.println(dize.startsWith("a"));
    }
}

trim() Fonksiyonu: String ifade içerisindeki sağdan ve soldan boşlukları silmek için kullanılır.

public class Main
{
    public static void main(String[] args) {
       String dize = " Merhaba ";
       System.out.println(dize.trim());
    }
}

concat() Fonksiyonu: İki string ifadeyi birleştirmek için kullanılan fonksiyondur.

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       String dize1 = " Dünya";
       System.out.println(dize.concat(dize1));
    }
}

İki veya daha fazla string ifadeyi birleştirmek için concat() fonksiyonunun dışında “+” operatörü de kullanılabilir.

public class Main
{
    public static void main(String[] args) {
       String dize = "Merhaba";
       String dize1 = "Dünya";
       System.out.println(dize + " " + dize1);
    }
}

İlkel veri tipleri ile ilkel olmayan veri tiplerinden bahsettiğimize göre şimdi bu iki grubun arasındaki farklara göz atalım.

İlkel Veri Tipleri İle İlkel Olmayan Veri Tipleri Arasındaki Farklar

İlkel veri tipleri ile ilkel olmayan veri tipleri arasındaki temel farklara aşağıdaki tablodan göz atabiliriz.

İlkel Veri Tipleriİlkel Olmayan Veri Tipleri
Java’da tanımlıdır.Kullanıcı tarafından tanımlanır.
Boş değer alamaz.Boş değer alabilir.
Boyutu veri türüne bağlıdır.Tümü aynı boyuta sahiptir.
Küçük harf ile başlar.Büyük harfle başlar.

Bu yazımızda JAVA’daki ilkel ve ilkel olmayan veri türlerinden bahsedip örnek kullanımlarını gördük. Aynı zamanda ilkel ve ilkel olmayan veri türleri arasındaki farkları da incelemiş olduk. Bir sonraki yazımızda JAVA’dan bahsetmeye devam edeceğiz.

JAVAG33L1R9L08D32S
Java ile Temel Programlama #2

Bu yazımızda sizlere JAVA’da temel ifadelerden bahsetmeye devam edeceğim. Genel olarak yazı içerisinde yorum satırları, kaçış ifadeleri, değişkenler ve veri tiplerinden bahsedeceğim.

Java’da yazdığımız her ifadenin derleyici tarafından kod olarak algılanması istemeyiz. Bunun nedeni yazdığımız kodun ya da yaptığımız işlemlerin, kodu okuyanlar tarafından daha iyi bir şekilde anlaşılması için yorumlar eklemek isteyebiliriz. Bu gibi durumlar için JAVA bizlere yorum satılarını kullanma imkanı sunar. Bir ya da daha fazla satırı yorum satırı olarak işaretlediğimizde derleyici tarafından o satırların kod olarak değerlendirilmemesini sağlarız.

Yorum satırları kod yazarken herhangi bir anda kullanılabilir. Bu kullanma sıklığı kodu yazan kişiye bağlıdır. Herhangi bir hazır fonksiyonun detaylarını incelediğinizde ya da orta-büyük projelere göz attığınızda yorum satılarının sıklıkla kullanıldığını görebilirsiniz.

JAVA’da Yorum Satırları

Programlama dillerine göre yorum satılarının kullanım şekillleri değişebilir. JAVA’da yorum satırının 3 farklı kullanım şekli vardır. Bunlardan ilki tek satırlık yorum satırı oluşturmak için kullanılan // işaretidir. Bu işareti kullandığımız satır farklı bir renkte yorum satırı olarak gözükür. Buraya Türkçe karakter içeren ifadelerde yazılabilir. Tek satırlık yorum satırı örneği aşağıdaki gibidir:

public class HelloWorld{

     public static void main(String []args){
      //Bu bir yorum satiridir.
     }
}

Eğer ki birden fazla satırı kullanarak kodumuzu açıklamak istersek /* … */ ifadelerini kullanabilir. /* ile başlayan ve */ ile biten satırlar arasına istediğimiz şekilde açıklamalar yazabilir. Bu yazılan açıklamalarda derleyici tarafından kod statüsüne alınmaz. Yukarıdaki tek satırlık yorum satırında olduğu gibi bu alanlara da Türkçe karakterli ifadeler yazılabilir. /* … */ ifadesinin kullanım örneği aşağıdaki gibidir:

public class HelloWorld{

     public static void main(String []args){
      /*
      Bu bir yorum satırıdır.
      
      Bu da bir yorum satırıdır.
      
      Bu da yorum satırıdır.
      
      */
      
     }
}

Son olarak /** … */ ifadesinden bahsedelim. Bu ifade genel olarak kod içi dökümantasyon amacıyla kullanılır. Uygulamalar yazıldıktan sonra raporlamaları yapılır. Kod geliştirmesi yapılırken kullanılan bu ifadeler arasına yazılan açıklamalar, özel etiketler içerebilirler. Kullanılan özel etiketleri tanıyan uygun bir araç vasıtasıyla bu açıklamalar dökümantasyonlara dönüştürülebilir. Bu dökümantasyonlar raporlar arasına eklenerek yazılım geliştiren ekibin rapor yükünü hafifletir.

/** … */ ifadesi içerisinde kullanılabilecek bazı özel etiketler aşağıdaki tabloda verilmiştir.

EtiketAçıklamaKullanış Şekli
@authorSınıfı oluşturan kişiyi ifade eder.@author yazar adı
{@code}Yazılan kodun derleyici tarafından kod olarak değerlendirilmeden kullanım örneğini vermek için kullanılır.{@code …}
@exceptionDökümantasyona, yazılan kodun istisnai durumlarını yazmak ve açıklamak için kullanılır.@exception istisnai durum
@paramKullanılan parametreleri ve bu parametlerin açıklamaları için kullanılır.@param parametre ismi – açıklaması
@returnKullanılan metodlardan döndürülen ifadelerin açıklaması için kullanılır.@return açıklama
@seeHerhangi başka bir ifadeyi referans göstermek için kullanılır. Örneğin başka bir metot.@see referans
@sinceDökümantasyonda, oluşturulan ifadeler için tarih bilgisi eklenilmesinde kullanılır.@since tarih
@versionOluşturulan dökümantasyonlara versiyon bilgisi eklemek için kullanılır.@version versiyon numarası
/**
* @author  Erhan Eskin
* @version 1.0
* @since   01-01-2022
*/

public class OrtalamaHesaplama{
    /** 
    *Bu sinif icerisinde tanimlayacagimiz uc degisken ile
    *degiskenlere atadigimiz degerleri toplayip
    * toplam degisken sayisina bolecegiz
    * bu islemi simdilik statik olarak gerceklestirecegiz
    * @param sayi1 bizim ilk degiskenimiz olacak
    * @param sayi2 bizim ikinci degiskenimiz
    * @param sayi3 bizim ucuncu degiskenimiz
    * @param toplam bizim dorduncu degiskenimiz
    * @param ortalama bizim besinci degiskenimiz
    * bu islemlerin ardindan sonuc olarak
    * @return ortalama ifadesini ekranda gorecegiz
    * 
    */ 
    
    public int ortalamaHesaplama (int sayi1, int sayi2, int sayi3) {
            int toplam,ortalama;
            toplam = sayi1 + sayi2 + sayi3;
            ortalama = toplam / 3;
            return ortalama;
   }


    public static void main(String[] args) {
        int hesap1;
        OrtalamaHesaplama nesne = new OrtalamaHesaplama();
        hesap1 = nesne.ortalamaHesaplama(20,30,40);
        System.out.println("ortalama :" + hesap1);
    }
}

Kodlama yaparken kullanabileceğimiz yorum satırlarımızdan bahsettiğimize göre şimdi kaçış operatörlerinden bahsedelim.

JAVA’da Kaçış Operatörleri

JAVA’da kullanılabilen kaçış operatörlerinden bazılarını aşağıdaki tablodan inceleyebilirsiniz.

Kaçış OperatörüAçıklaması
\tBir tab boşluğu ekler.
\nBir satır aşağı atlar.
\rSatır başı ekler.
\fSayfa sonunu belirtir.
\’Tek tırnak ekler.
\’’Çift tırnak ekler
\\Ters eğik çizgi ekler.

JAVA’da kaçış operatörlerini kullanarak yazdığımız kodların okunabilirliğini artırabiliriz. Kaçış operatörlerinin kullanımlarına ait örnek aşağıdaki gibidir:

INPUT:

public class Main
{
    public static void main(String[] args) {
        System.out.println("Bu bir\ndeneme boşluğudur");
    }
}

OUTPUT:

Bu bir
deneme boşluğudur
INPUT:

public class Main
{
    public static void main(String[] args) {
        System.out.println("Bu bir\tdeneme boşluğudur");
    }
}

OUTPUT:

Bu bir	deneme boşluğudur

Bu yazımızın son bölümünde değişkenler ve veri tiplerinden bahsederek yazımızı sonlandıralım.

JAVA’da Değişkenler Ve Veri Tipleri

Değişken (variable), girdiğimiz ya da atadığımız bazı değerlerin geçiçi olarak hafızada saklanması için oluşturulan alanlara denir. Bir değişkene herhangi bir değer atamak için “ = ” ifadesi kullanılır. Örnek olarak:

int deger = 4

Değişkenler sayesinde kullanacağımız ifadeleri hafıza saklar ve gerektiği durumlarda kullanırız. Bir değişken tanımlanırken belirtilen veri tipindeki değerleri saklayabilir. Örneğin int olarak tanımladığımız bir değişkene string(dize) bir değer ataması gerçekleştirirsek program bize çıktı olarak hata verir. Böyle durumlarda yazdığımız programımız basit bir sebepten dolayı kesintiye uğramış olur.

Eğer tanımlamış ve değer atamış olduğumuz bir değişkene tekrar değer ataması yapılırsa son atanan değer o değişkenin değeri olur.

JAVA’da değişkenlerin tanımlabileceği farklı veri tipleri vardır. Bu veri tipleri JAVA’da varsayılan olarak gelen ilkel veri tipleri olabilirken kullanıcının kendi tanımlayabileceği veri tipleri de olabilir. İlkel veri tiplerinin her zaman bir değeri vardır. İlkel olmayan veri tipleri boş olarak tanımlanabilir.

Bunların dışında ilkel veri tiplerinin boyutları veri tipine göre değişikleri gösterirken ilkel olmayan veri tiplerinin boyutları aynıdır.

JAVA’da değişken aşağıdaki gibi tanımlanabilir:

veri tipi değişken adı = deger

Aşağıdaki tabloda JAVA’da var olan 8 ilkel veri tipini inceleyebilirsiniz.

Veri TipiBoyutAçıklama
byte1 bayt-128’den 127 kadar olan tam sayıları saklar.
short2 bayt-32,768’den 32,767 kadar olan tam sayıları saklar.
int4 bayt-2,147,483,648’den 2,147,483,647 kadar olan tam sayıları saklar.
long8 bayt-9,223,372,036,854,775,808 ile 9,223,372,036,854,775,807 aralığında olan tam sayıları saklar.
float4 baytOndalık sayıları saklamak için kullanılır. 1.4×10^-45 ile 3.4×10^38 aralığında bir değer tanımlanabilir.
double8 baytOndalık sayıları saklamak için kullanılır. 4.9×10^-324 ile 1.8×10^308 aralığında bir değer tanımlanabilir.
boolean1 bitTrue ya da False adında mantıksal bir değer saklamak için kullanılır.
char2 baytHerhangi bir karakterin ASCII tablosundaki değerini saklar.

Yukarıdaki tabloyu incelediğimizde JAVA’da var olan ilkel veri tiplerini özetle incelemiş olduk. Bir sonraki yazımızda JAVA’da var olan bu ilkel veri tiplerinde örneklerden ve ilkel olmayan veri tiplerinden bahsedeceğiz. Bir sonraki yazıya buradan erişebilirsiniz.

JAVAECWJQP43S6OG9J