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.

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 ā
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-
İ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:
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!



