İlginizi Çekebilir
featured
  1. Ana Sayfa
  2. Java
  3. Java’da String Kullanımı

Java’da String Kullanımı

Java’da String kullanımını bir çok proje içerisinde kullanacağız. Hatta anlatımını gerçekleştirdiğim konulara göz atacak olursanız her zaman Java’da String sınıfını kullanmaktayım.

Durum böyle bir hale gelince bir başlık altında String sınıfını tanıtmaya karar verdim. Bu başlık içerisinde Java’da string kullanımı, metotları ve karşılaştırma yöntemlerini inceleyeceğiz.

Java’da String Sınıfı Nedir?

String sınıfı, java.lang kütüphanesinin altında bulunan ve bizlere karakter dizeleri üzerinde işlemler gerçekleştirmemizi kolaylaştıran bir imkan sağlar. String sınıfı metotları, immutable metotlardır. Yani bu sınıfın içerisinde bulunan metotlar değiştirilemez.

String sınıfı miras alınarak, yeni bir sınıf türetilmez. String sınıfları temel olarak bir dizi metin karakterini depolamaya yarayan nesnelerdir. String ifadesi diğer nesnelerden ayrı olarak new ile tanımlama yapmamıza gerek duyulmadan çalışabilmektedir.

Basit bir şekilde tanımlama işlemi şu şekilde yapılır;
String myBlog = "emrecelen.com.tr";

String İndisleri

String sınıfını char veri tipindeki değerlerin bir araya gelerek oluşturdukları diziler olarak düşünebiliriz. Aşağıda vereceğim görseli anlamakta zorluk çekiyorsanız Java’da Diziler konuma göz gezdirebilirsiniz.

Java'da String Dizi Oluşumu
Java’da String Dizi

Bir string ifade tanımladıktan sonra hafıza içerisinde tutulma şeklini yukarıdaki görselden görebilirsiniz. Bu görsel üzerinde görüldüğü üzere dizilerde olduğu gibi ilk karakter indis değeri 0 olur.

Java’da String Metotları

Java’da String kullanımı gerçekleştirirken bazı özelliklerden faydalanmak isteyebiliriz. Bu kullanılan özellikler şunlardır;

  • length(): String olarak tanımladığımız/aldığımız bir metinin kaç karakterden oluştuğunu gösterir.
  • indexOf("Parametre"): Parantez içerisinde bulunan parametre kısmına girilen bir harf veya kelimenin, metnin kaçıncı karakterinde ilk kez kullanıldığını gösterir. Dizi sistemi kullandığı için saymaya 0’dan başlar.
  • substring(Parametre): Parametre kısmına tanımlanan indis numarasından sonra ekrana yazdırma işlemi gerçekleştirir. Parametre kullanırken başlangıç ve bitiş indis değerlerini substring(Parametre1,Parametre2) şeklinde belirtirsek girilen indis aralığındaki metni alır.
  • toLowerCase(): Metin içerisindeki tüm karakterleri küçük harfe dönüştürür.
  • toUpperCase(): İsminden de anlaşıldığı gibi metin içerisindeki harfleri büyük harfe dönüştürür.

Buraya kadar gördüğümüz metotları anlayabilmek için bir örnek içerisinde kullanımını göz atalım. Oluşturacağımız bu örnek içerisinde kullanıcıdan metin girmesini isteyelim ve elde ettiğimiz String değeri yukarıdaki metotlar ile işleyelim.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Değişken Tanımlaması:
        String myName;
        System.out.print("---------------\n- Adınız ve Soyadınızı Girin: ");
        myName = scanner.nextLine();
        System.out.print("---------------\n-> Yapacağımız İşlemler:\n1- Metin Uzunluğu: "+myName.length());
        System.out.print("\n2- Ç Harfi Kaçıncı İndis Numarasında: "+myName.indexOf("Ç"));
        System.out.print("\n3- Substring(5) Kullanımı: "+myName.substring(5)+"\n4- Substring(0,4) Kullanımı: "+myName.substring(0,4));
        System.out.print("\n5- toLowerCase Kullanımı: "+myName.toLowerCase()+"\n6- toUpperCase Kullanımı: "+myName.toUpperCase());
        System.out.print("\n---------------");
    }
}

Kod Çıktısı:

Java String Metot Kullanımı
Java’da String Metot Kullanımı

Kod çıktısında göreceğiniz üzere “Emre Çelen” değerini girmiş olmama rağmen toplam uzunluğunu 10 olarak gösterdi. Bunun sebebi isim ile soyad arasındaki boşluğu da bir karakter olarak kabul etmesinden dolayıdır.

String Değerleri Karşılaştırma

Java’da String değerleri karşılaştırma yapabilmek için kullanacağımız bazı metotlar yer almaktadır. Bu metotlar şu şekildedir;

    • equals(Parametre): Bir değişken ile kullanacağımız equals metodunda parametre kısmına girdiğimiz metin ile eşit olup olmadığını karşılaştırır.
    • equalsIgnoreCase(Parametre): Eşitliği kontrol ederken equals’de olduğu gibi büyük/küçük harf uyumunu önemsemeden metini karşılaştırır.
    • startWith(Parametre): Değişkenimiz içerisinde bulunan metinin verilen parametre ile başlayıp başlamadığını kontrol eder.
    • endsWith(Parametre): Değişken üzerindeki metnin parametre olarak belirtilen metin ile bitip bitmediğini kontrol eder.
    • contains(Parametre): Parametre olarak belirtilen bir metnin, orijinal metin üzerinde bulunup bulunmadığını kontrol eder. (İntihal Program Mantığı)

Karşılaştırma operatörleri ile bir örnek oluşturalım. Bu örneğimiz içerisinde kullanıcıdan “Başla” komutunu aldıktan sonra önceden tanımladığımız string değerler üzerinde bazı işlemler gerçekleştirelim ve ekrana bazı çıktılar verelim.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Değişken Tanımlaması:
        String myBlog = "www.emrecelen.com.tr",seninKararin;
        System.out.println("--------------\n-> Program İşlemleri\n--------------\n1- Programı Başlat\n2- Programı Sonlandır\n--------------");
        System.out.print("-> Kararınız: ");
        seninKararin = scanner.nextLine();
        if(seninKararin.equals("1") || seninKararin.equalsIgnoreCase("Başlat")){
            System.out.println("--------------\n-> Program Başlatıldı.\n-> İşlenecek String Metin: "+myBlog+"\n--------------");
            System.out.print("-> startsWith('emre') Kullanımı: "+myBlog.startsWith("emre")+"\n-> endsWith('tr') Kullanımı: "+myBlog.endsWith("tr"));
            System.out.print("\n-> contains('celen') Kullanımı: "+myBlog.contains("celen")+"\n--------------");
        }
        else if(seninKararin.equals("2") || seninKararin.equalsIgnoreCase("başlatma")){
            System.out.println("--------------\n-> Program Sonlandırıldı.\n--------------");
        }
        else{
            System.out.println("--------------\n-> Tanımsız Değer Girdiniz\n-> Program Sonlandırıldı.\n--------------");
        }
    }
}

Kod Çıktısı:

Java String Karşılaştırma İşlemi
Java’da String Karşılaştırma

Kod çıktımızda gördüğünüz gibi bazı karşılaştırma işlemleri sonucunda false bazılarında ise true bir değer aldık. Bu işlem sonucunda sorgulanan değişken belirtilen parametre içerisindeki metinler ile karşılaştırıldı. Java’da String kullanımı konusunu fazla uzatmadan güzel son bir örnek vererek konu anlatımını sonlandıralım.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Harfleri tutacağımız dizimizi tanımlıyoruz:
        String alfabe[] = new String[29];

        // Harfleri yazdıracağımız döngümüz:
        int k=0;
        for(char i ='a';i<='z';i++){
            alfabe[k] = String.valueOf(i);
            k++;
        }
        // Değişken Tanımlaması:
        String kacinciHarf,sorgulananHarf;
        System.out.print("--------------\nHarf Girin: ");
        kacinciHarf = scanner.next();
        System.out.println("--------------");
        boolean bayrak = false;
        for(int i=0;i< alfabe.length;i++){
            sorgulananHarf = alfabe[i];
            if(kacinciHarf.equalsIgnoreCase(sorgulananHarf)){
                System.out.println("Sorguladıgınız ["+sorgulananHarf+"] Harfi Alfabenin "+(i+1)+". Harfi.");
                bayrak=true;
            }
            else if(kacinciHarf.equalsIgnoreCase(sorgulananHarf)==false && (i+1)== alfabe.length && bayrak==false){
                System.out.println("Dizi İçerisinde Girmiş Olduğunuz ["+kacinciHarf+"] Harf Bulunmuyor.");
            }
        }
    }
}

Kod Çıktısı:

Java String alfabe kaçıncı harfi
Java’da String Alfabe Örneği

Oluşturduğum kod için uyguladığım adımlar şu şekilde:
#1 Öncelikle String veri tipinde 29 harf barındıracak bir dizi tanımlaması gerçekleştirdim.
#2 Oluşturduğum diziye harfleri teker teker atayabilmek için k adında bir değişken tanımladım ve harfleri teker teker atayacağım döngüyü oluşturdum. Bu döngü char veri tipinde 'A' dan başlayarak 'Z' ye kadar değer üretmektedir.
#3 Üretilen değerleri string veri tipine çevirdikten sonra alfabe isimli dizinin k elemanına atmayı gerçekleştirdikten sonra k değişken değerini bir arttırıyorum.
#4 Kullanıcıdan bir harf girmesini talep edip alfabe dizisi içerisinde sorgulama işlemi yapmak için gerekli incelemeleri gerçekleştirerek ekrana harf bulunuyorsa kaçıncı harf olduğunu yazdırarak döngüyü bitiriyorum.

Java’da String Kullanımı konumuzun sonuna gelirken her zaman olduğu gibi aklınıza takılan soruları veya konu hakkında önerilerinizi aşağıda “yorum yap” kısmından bana iletmeyi unutmayın diyerek konumuzu bitiriyoruz.

Yorum Yap

Yazar Hakkında

Yazmayı, öğrenmeyi, öğrendiklerini paylaşmayı , kodlamayı ve günün birinde Yönetim Bilişim Sistemleri Uzmanı olmanın hayalini kuran birisiyim.

Yorum Yap

Yorumlar (1)

  1. 3 yıl önce

    Java programlama dilinde String ifadeleri kolayca kullanabiliyoruz ama C dili gibi charlarla çalışılan dillerde sıkıntı olabiliyor. Güzel bir yazı olmuş ellerinize sağlık.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir