Dize Manipülasyonu Java ƖRNEKLE

⚔ Akıllı Ɩzet

Dize Manipülasyonu Java Metni karakter dizisi olarak temsil eden String sınıfına dayanır ve metni verimli bir şekilde işlemek ve dönüştürmek için length, indexOf, charAt, compareTo, contains, replace ve case conversion gibi yerleşik yöntemler sunar.

  • šŸ”¤ String Temelleri: A Java String, Object sınıfını genişleten String sınıfı tarafından yƶnetilen bir karakter dizisidir.
  • āž• birleştirme: Dizeleri birleştirmek iƧin `concat()` yƶntemini veya `+` operatƶrünü kullanarak aynı sonucu elde edebilirsiniz.
  • šŸ“ Muayene Yƶntemleri: length(), indexOf() ve charAt() fonksiyonları, karakterin boyutunu, karakter indeksini ve o konumdaki karakteri dƶndürür.
  • šŸ”Ž Karşılaştırma ve Arama: compareTo(), compareToIgnoreCase() ve contains() fonksiyonları dizeleri karşılaştırır ve sıralı olup olmadığını kontrol eder.
  • āœļø Dƶnüşüm: replace(), toLowerCase() ve toUpperCase() fonksiyonları, dize iƧeriğini ve harf büyük/küçük harf durumunu değiştirir.
  • šŸ”’ Değişmezlik: Dizeler nihai ve değiştirilemezdir; JVM bunları Dize Sabit Havuzunda saklar.

Dize Manipülasyonu Java

Dizeler Nelerdir? Java?

Kelimenin tam anlamıyla bir dize, bir karakter dizisidir. Hey, karakter mi dedin, bu ilkel bir veri türü değil mi? Java. Evet, teknik açıdan temel Java String temel olarak bir karakter dizisidir.

Yani yukarıdaki dizim ā€œROSEā€ aşağıdaki şekilde temsil edilebilir –

Java dizi

Neden Strings kullanılmalı?

Modern bilgisayar biliminin temel işlevlerinden biri insan dilini işlemektir.

Sayıların matematik için önemi neyse, dil sembolleri de anlam ve karar verme için önemlidir. Bilgisayar kullanıcıları tarafından görünmese de, bilgisayarlar dili arka planda bir hesap makinesi kadar hassas ve doğru bir şekilde işler. Yardım iletişim kutuları talimatlar sağlar. Menüler seçenekler sunar. Ve veri ekranları durumları, hataları ve dildeki gerçek zamanlı değişiklikleri gösterir.

Olarak Java programcı, dili depolamak ve işlemek için ana araçlarınızdan biri String sınıfı olacak.

Dize Sƶz Dizimi Ɩrnekleri

Şimdi biraz sƶz dizimine geƧelim, sonuƧta bunu şu şekilde yazmamız gerekiyor: Java kod değil mi

Dize, şu şekilde temsil edilen bir karakter dizisidir:

//String is an array of characters
char[] arrSample = {'R', 'O', 'S', 'E'};
String strSample_1 = new String (arrSample);

Teknik açıdan String yukarıdaki örnekte şu şekilde tanımlanmıştır:

= new (argument);

Artık dizelerimizi her zaman diziler halinde yazamayız; dolayısıyla String'i tanımlayabiliriz Java aşağıdaki gibidir:

//Representation of String
String strSample_2 = "ROSE";

Teknik açıdan yukarıdakiler şu şekilde temsil edilir:

= ;

MKS String Sınıfı Java uzanır the Nesne sınıfı.

Dize Birleştirme:

Birleştirme, iki veya daha fazla dizenin birleştirilmesidir.

Aşağıdaki resme bir göz atın-

Dize Sƶz Dizimi Ɩrnekleri

İki dizimiz var str1 = ā€œRockā€ ve str2 = ā€œStarā€

Bu iki stringi toplarsak str3= ā€œRockStarā€ şeklinde bir sonuƧ elde etmeliyiz.

Aşağıdaki kod parçacığına göz atın; bu, dize birleştirme işlemini gerçekleştirmenin iki yöntemini açıklamaktadır.

İlki ā€œconcatString sınıfının yƶntemi ve ikincisi aritmetik ā€œ+ā€ operatƶrünü kullanmaktır. Her ikisi de aynı Ƨıktıyla sonuƧlanır

public class Sample_String{
  public static void main(String[] args){
//String Concatenation
String str1 = "Rock";
String str2 = "Star";
//Method 1 : Using concat
String str3 = str1.concat(str2);
System.out.println(str3);
//Method 2 : Using "+" operator
String str4 = str1 + str2;
System.out.println(str4);
}
}

Beklenen Ƨıktı:

RockStar
RockStar

Hatırlatma Java dize yƶntemleri:

Java dize yƶntemleri

Hadi soralım Java String sınıfına birkaç soru sorun ve onlara cevap verip veremeyeceğini görün:

String ā€œUzunlukā€ Yƶntemi

Verilen String'in uzunluğunu nasıl belirleyeceksiniz? "length" adlı bir yöntem sağladım. Uzunluğunu bulmak için ihtiyacınız olan String'e karşı kullanın.

public class Sample_String{
  public static void main(String[] args){  //Our sample string for this tutorial
  String str_Sample = "RockStar";
  //Length of a String
  System.out.println("Length of String: " + str_Sample.length());}}

Beklenen Ƨıktı:

Length of String: 8

String ā€œindexOfā€ Yƶntem

Uzunluğu biliyorsam hangi karakterin hangi konumda olduğunu nasıl bulurum? Kısacası bir karakterin indeksini nasıl bulacağım?

Kendin cevapladın dostum, belirttiğin belirli bir karakterin konumunu belirlemene yardımcı olacak bir ā€œindexOfā€ yƶntemi var.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));
//Index of a given character
System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}

Beklenen Ƨıktı:

Character at position 5: t
Index of character 'S': 4

Dize ā€œcharAtā€ Yƶntemi

Yukarıdaki soruya benzer şekilde indeks verildiğinde o konumdaki karakteri nasıl bilebilirim?

Yine basit bir tane!! ā€œcharAtā€ metodunu kullanın ve bulmanız gereken karakterin indeksini sağlayın.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));}}

Beklenen Ƨıktı:

Character at position 5: t

String ā€œCompareToā€ Yƶntemi

Bazı yöntemlerle oluşturulan Dize'nin doğrulamak istediğim bir şeye eşit olup olmadığını kontrol etmek ister miyim? İki String'i nasıl karşılaştırırım?

ā€œcompareToā€ metodunu kullanın ve karşılaştırmak istediğiniz String’i belirtin.

Sonucun büyük/küçük harfe duyarlı olmasını istemiyorsanız ā€œcompareToIgnoreCaseā€ kullanın.

Eğer argüman dizgesi bu dizgeye eşitse sonuç 0 değerine sahip olacaktır; bu dize sözlükbilimsel olarak dize bağımsız değişkeninden küçükse 0'dan küçük bir değer; ve bu dize sözlükbilimsel olarak dize bağımsız değişkeninden büyükse 0'dan büyük bir değer.

public class Sample_String{
  public static void main(String[] args){//Compare to a String
String str_Sample = "RockStar";
  System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));
  //Compare to - Ignore case
  System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}

Beklenen Ƨıktı:

Compare To 'ROCKSTAR': -32
Compare To 'ROCKSTAR' - Case Ignored: 0

String ā€œContainā€ Yƶntemi

Dizenin ne içermesi gerektiğini kısmen biliyorum, Dizenin belirttiğim bir karakter dizisini içerip içermediğini nasıl doğrularım?

Yƶntemi kullanınā€iƧerenā€ve kontrol etmeniz gereken karakterleri belirtin.

Geri dönüşler gerçek ancak ve ancak bu dize belirtilen karakter değerleri dizisini içeriyorsa.

public class Sample_String{
  public static void main(String[] args){  //Check if String contains a sequence
String str_Sample = "RockStar";
  System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}

Beklenen Ƨıktı:

Contains sequence 'tar': true

String ā€œendsWithā€ Yƶntemi

Bir String'in belirli bir sonekle bitip bitmediğini nasıl doğrularım? Yine cevap verdin. ā€œendsWithā€ yƶntemini kullanın ve bağımsız değişkenlerde son eki belirtin.

Geri dönüşler gerçek argüman tarafından temsil edilen karakter dizisi, bu nesne tarafından temsil edilen karakter dizisinin bir son eki ise.

public class Sample_String{
  public static void main(String[] args){  //Check if ends with a particular sequence
String str_Sample = "RockStar";
  System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}

Beklenen Ƨıktı:

EndsWith character 'r': true

String ā€œreplaceAllā€ ve ā€œreplaceFirstā€ Yƶntemi

String'imi birkaç yerde değiştirmek ve String'in birkaç parçasını değiştirmek istiyorum?

Java String Change, replacementAll ve replacementFirst yöntemleri. Değiştirmek istediğiniz String kısmını ve değiştirilecek String'i argümanlarda belirtebilirsiniz.

public class Sample_String{
  public static void main(String[] args){//Replace Rock with the word Duke
String str_Sample = "RockStar";
System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}

Beklenen Ƨıktı:

Replace 'Rock' with 'Duke': DukeStar

dizi Java ā€œküçük harfeā€ & Java ā€œbüyük harfā€ Yƶntemi

String'imin tamamının küçük harfle mi yoksa Büyük harfle mi gösterilmesini istiyorum?

Dƶnüştürülmesi gereken Dizelere karşı sadece ā€œtoLowercase()ā€ veya ā€œToUpperCase()ā€ yƶntemlerini kullanın.

public class Sample_String{
  public static void main(String[] args){//Convert to LowerCase
String str_Sample = "RockStar";
System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase());
//Convert to UpperCase
System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}

Beklenen Ƨıktı:

Convert to LowerCase: rockstar
Convert to UpperCase: ROCKSTAR

Dikkat Edilmesi Gereken Ɩnemli Noktalar:

  • String bir Final sınıfıdır; yani değer bir kez oluşturulduktan sonra değiştirilemez. Bu nedenle String nesnelerine değişmez denir.
  • MKS Java Sanal Makine (JVM), ƶzellikle Ƨağrılan Dizeler iƧin bir bellek konumu oluşturur Dize Sabit Havuzu. Bu nedenle String 'new' anahtar sƶzcüğü olmadan başlatılabilir.
  • Dize sınıfı altına giriyor java.lang.String hiyerarşisi. Ancak bu sınıfı iƧe aktarmaya gerek yoktur. Java platform bunları otomatik olarak sağlar.
  • dizi referans geƧersiz kılınabilir ancak bu, iƧeriği silmez; yani eğer

String h1 = ā€œmerhabaā€;

h1 = ā€œmerhabaā€+ā€dünyaā€;

o zaman ā€œmerhabaā€ String silinmez. Sadece kontrolünü kaybediyor.

  • Ƈoklu referanslar aynı String iƧin kullanılabilir ancak aynı yerde meydana gelir; yani eğer

String h1 = ā€œmerhabaā€;

String h2 = ā€œmerhabaā€;

String h3 = ā€œmerhabaā€;

daha sonra bellekte 3 referanslı (h1,h2,h3) String ā€œhelloā€ iƧin yalnızca bir havuz oluşturulur.

  • Eğer bir numara " " şeklinde alıntılanmıştır sonra o bir dize haline gelir, artık bir sayı değil. Bunun anlamı eğer

String S1 =ā€Sayı: ā€œ+ ā€œ123ā€+ā€456″;

Sistemi.dışarı.println(S1);

sonra yazdıracaktır: Sayı: 123456

Başlatma şu şekilde ise:

String S1 = ā€œSayı: ā€œ+(123+456);

System.out.println(S1);

sonra yazdıracaktır: Sayı: 579

Strings'e bu kadar!

SSS

Java Dizeler, güvenlik, iş parçacığı güvenliği ve performans açısından değiştirilemezdir. Değer oluşturulduktan sonra değiştirilemeyeceği için, JVM dizeleri Dize Sabit Havuzunda güvenli bir şekilde önbelleğe alabilir ve referansları paylaşabilir.

In Java== operatörü nesne referanslarını karşılaştırırken, equals() operatörü iki dizenin gerçek karakter içeriğini karşılaştırır. İki dizenin aynı değere sahip olup olmadığını kontrol etmek için equals() fonksiyonunu kullanın.

String değiştirilemezdir, oysa StringBuilder ve StringBuffer Değiştirilebilirler. DizelerBuffer Bu yöntem iş parçacığı güvenli ve senkronizedir; StringBuilder daha hızlıdır ancak iş parçacığı güvenli değildir, bu da onu tek iş parçacıklı dize manipülasyonu için ideal kılar.

Yapay zekâ kodlama asistanları, dize işleme kodu üretebilir, doğru yöntemleri önerebilir, düzenli ifadeleri açıklayabilir ve dize işlemlerinde boş işaretçi veya indeks hataları gibi hataları tespit edebilir.

Evet. Yapay zeka araçları yazabilir. Java Değiştirme, kırpma ve büyük/küçük harf dönüştürme gibi yöntemler kullanarak metni temizleyen, biçimlendiren ve dönüştüren bir kod yazın ve ardından her adımı öğrenciler için açıklayın.

Bu yazıyı şu şekilde özetleyin: