Java Dizesi (Örneklerle)

Bu eğitimde, örnekler yardımıyla Java Strings, bunların nasıl oluşturulacağı ve çeşitli String yöntemleri hakkında bilgi edineceğiz.

Java'da bir dize, bir karakter dizisidir. Örneğin, "merhaba", bir dizi 'h', 'e', ​​'l', 'l' ve 'o' karakterlerini içeren bir dizedir.

Java'da bir dizeyi temsil etmek için çift ​​tırnak kullanıyoruz . Örneğin,

 // create a string String type = "Java programming";

Burada type adında bir string değişken oluşturduk. Değişken dizge ile başlatılır Java Programming.

Not : Java Strings ilkel türleri (gibi değildir int, charvs.). Bunun yerine, tüm dizeler adlı önceden tanımlanmış bir sınıfın nesneleridir String.

Ve tüm dize değişkenleri Stringsınıfın örnekleridir .

Örnek: Java'da Dize Oluşturma

 class Main ( public static void main(String() args) ( // create strings String first = "Java"; String second = "Python"; String third = "JavaScript"; // print strings System.out.println(first); // print Java System.out.println(second); // print Python System.out.println(third); // print JavaScript ) )

Yukarıdaki örnekte birinci, ikinci ve üçüncü adında üç dize oluşturduk. Burada, ilkel türler gibi doğrudan dizeler oluşturuyoruz.

Bununla birlikte, Java dizeleri oluşturmanın başka bir yolu vardır ( newanahtar kelimeyi kullanarak ). Bunu daha sonra bu eğitimde öğreneceğiz.

Java String İşlemleri

Java String, dizeler üzerinde farklı işlemler gerçekleştirmek için çeşitli yöntemler sağlar. Yaygın olarak kullanılan dizgi işlemlerinden bazılarına bakacağız.

1. Bir Dizenin Uzunluğunu Alın

Bir dizgenin uzunluğunu bulmak length()için String metodunu kullanıyoruz . Örneğin,

 class Main ( public static void main(String() args) ( // create a string String greet = "Hello! World"; System.out.println("String: " + greet); // get the length of greet int length = greet.length(); System.out.println("Length: " + length); ) )

Çıktı

Dize: Merhaba! Dünya Uzunluğu: 12

Yukarıdaki örnekte, length()yöntem dizedeki toplam karakter sayısını hesaplar ve döndürür. Daha fazla bilgi edinmek için Java String length () adresini ziyaret edin.

2. İki Dizeyi birleştirin

concat()Yöntemi kullanarak Java'da iki dizgeyi birleştirebiliriz . Örneğin,

 class Main ( public static void main(String() args) ( // create first string String first = "Java "; System.out.println("First String: " + first); // create second String second = "Programming"; System.out.println("Second String: " + second); // join two strings String joinedString = first.concat(second); System.out.println("Joined String: " + joinedString); ) )

Çıktı

 İlk Dize: Java İkinci Dize: Programlama Birleştirilmiş Dizgi: Java Programlama

Yukarıdaki örnekte, birinci ve ikinci adında iki dizge oluşturduk. İfadeye dikkat edin,

 String joinedString = first.concat(second);

Burada, concat()yöntem birinci ve ikinci olarak birleştirilir ve onu birleştirilmişString değişkenine atarız.

+Java'daki operatörü kullanarak iki dizgeyi de birleştirebiliriz . Daha fazla bilgi edinmek için Java String concat () adresini ziyaret edin.

3. İki Dizeyi Karşılaştırın

Java'da equals()yöntemi kullanarak iki dizge arasında karşılaştırma yapabiliriz . Örneğin,

 class Main ( public static void main(String() args) ( // create 3 strings String first = "java programming"; String second = "java programming"; String third = "python programming"; // compare first and second strings boolean result1 = first.equals(second); System.out.println("Strings first and second are equal: " + result1); // compare first and third strings boolean result2 = first.equals(third); System.out.println("Strings first and third are equal: " + result2); ) )

Çıktı

 Birinci ve ikinci dizeler eşittir: true Birinci ve üçüncü dizeler eşittir: false

Yukarıdaki örnekte birinci, ikinci ve üçüncü adında 3 karakter dizisi oluşturduk. Burada, equal()bir dizenin diğerine eşit olup olmadığını kontrol etmek için yöntemi kullanıyoruz .

equals()Yöntem denetler onları dizeleri içeriği karşılaştırarak ederken. Daha fazla bilgi edinmek için Java String equals () adresini ziyaret edin.

Not : ==Java'da operatörü kullanarak iki dizeyi de karşılaştırabiliriz . Ancak bu yaklaşım equals()yöntemden farklıdır . Daha fazla bilgi edinmek için Java String == vs equals () adresini ziyaret edin.

Java Dizgesinin Yöntemleri

Yukarıda bahsedilenlerin yanı sıra, Java'da bulunan çeşitli dizgi yöntemleri vardır. İşte bu yöntemlerden bazıları:

Yöntemler Açıklama
alt dize () dizenin alt dizesini döndürür
değiştir () belirtilen eski karakteri belirtilen yeni karakterle değiştirir
charAt () belirtilen konumda bulunan karakteri döndürür
getBytes () dizeyi bir bayt dizisine dönüştürür
indeksi() dizedeki belirtilen karakterin konumunu döndürür
karşılaştırmak() sözlük sırasındaki iki dizeyi karşılaştırır
trim () baştaki ve sondaki beyaz boşlukları kaldırır
biçim() biçimlendirilmiş bir dize döndürür
Bölünmüş() dizeyi bir dizi diziye böler
toLowerCase () dizeyi küçük harfe dönüştürür
toUpperCase () dizeyi büyük harfe dönüştürür
değeri() belirtilen bağımsız değişkenin dize temsilini döndürür
toCharArray () dizeyi bir chardiziye dönüştürür

Java Dizelerinde kaçış karakteri

Çıkış karakteri, bir dizede bulunan bazı karakterlerden kaçış yapmak için kullanılır.

Bir dizenin içine çift tırnak eklememiz gerektiğini varsayalım.

 // include double quote String example = "This is the "String" class";

Since strings are represented by double quotes, the compiler will treat "This is the " as the string. Hence, the above code will cause an error.

To solve this issue, we use the escape character in Java. For example,

 // use the escape character String example = "This is the "String " class.";

Now escape characters tell the compiler to escape double quotes and read the whole text.

Java Strings are Immutable

In Java, strings are immutable. This means, once we create a string, we cannot change that string.

To understand it more deeply, consider an example:

 // create a string String example = "Hello! ";

Here, we have created a string variable named example. The variable holds the string "Hello! ".

Now suppose we want to change the string.

 // add another string "World" // to the previous tring example example = example.concat(" World");

Here, we are using the concat() method to add another string World to the previous string.

It looks like we are able to change the value of the previous string. However, this is not true.

Let's see what has happened here,

  1. JVM takes the first string "Hello! "
  2. creates a new string by adding "World" to the first string
  3. assign the new string "Hello! World" to the example variable
  4. the first string "Hello! " remains unchanged

Creating strings using the new keyword

So far we have created strings like primitive types in Java.

Since strings in Java are objects, we can create strings using the new keyword as well. For example,

 // create a string using the new keyword String name = new String("Java String");

In the above example, we have created a string name using the new keyword.

Here, when we create a string object, the String() constructor is invoked. To learn more about constructor, visit Java Constructor.

Note: The String class provides various other constructors to create strings. To learn more, visit Java String (official Java documentation).

Example: Create Java Strings using the new keyword

 class Main ( public static void main(String() args) ( // create a string using new String name = new String("Java String"); System.out.println(name); // print Java String ) )

Create String using literals vs new keyword

Now that we know how strings are created using string literals and the new keyword, let's see what is the major difference between them.

In Java, the JVM maintains a string pool to store all of its strings inside the memory. The string pool helps in reusing the strings.

While creating strings using string literals, the value of the string is directly provided. Hence, the compiler first checks the string pool to see if the string already exists.

  • Dize zaten varsa , yeni dizge oluşturulmaz. Bunun yerine, yeni referans mevcut dizgeye işaret eder.
  • Dize yoksa , yeni dizi oluşturulur.

Ancak, new anahtar sözcüğünü kullanarak dizeler oluştururken , dizenin değeri doğrudan sağlanmamaktadır. Bu nedenle yeni dizge her zaman oluşturulur.

Ilginç makaleler...