Java EXAMPLE ile Dize Manipülasyonu
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 önemli olduğu gibi, dil sembolleri de anlam ve karar verme açısından önemlidir. Her ne kadar bilgisayar kullanıcıları tarafından görülemese de, bilgisayarlar dili arka planda bir hesap makinesi kadar hassas ve doğru bir şekilde işler. Yardım diyalogları 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özdizimine geçelim, sonuçta bunu 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:
= ;
The 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ığını kontrol edin; dize birleştirmeyi gerçekleştirmenin iki yöntemini açıklar.
İ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? “adlı bir yöntem sağladım.uzunluk“. Uzunluğu bulmanız gereken 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?
Yöntemi kullanın”karşılaştırmak”ve karşılaştırmak istediğiniz Dizeyi 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.
- The 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!