Java Dize Manipülasyonu: ÖRNEK ile İşlevler ve Yöntemler

İçindekiler:

Anonim

Dizeler nedir?

Değişmez terimlerle bir dize, bir dizi karakterdir. Hey, karakterler mi dedin, Java'da ilkel bir veri türü değil mi? Evet, teknik açıdan temel Java Dizesi temelde bir karakter dizisidir.

Dolayısıyla, yukarıdaki " GÜL " dizem şu şekilde temsil edilebilir -

Bu eğitimde öğreneceksiniz-

  • Dizeler nedir?
  • Neden Dizeler kullanılıyor?
  • Dize Sözdizimi Örnekleri
  • Dize Birleştirme
  • Önemli Java dize yöntemleri

Neden Dizeler kullanılıyor?

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

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

Bir Java programcısı olarak, dili depolamak ve işlemek için ana araçlarınızdan biri String sınıfı olacaktır.

Dize Sözdizimi Örnekleri

Şimdi biraz sözdizimine geçelim, sonuçta bunu Java koduyla yazmamız gerekiyor, değil mi?

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

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

Teknik terimlerle, String, yukarıdaki örnekte aşağıdaki gibi tanımlanır:

= new (argument);

Artık dizelerimizi her zaman diziler olarak yazamayız; dolayısıyla Java'da String'i şu şekilde tanımlayabiliriz:

//Representation of StringString strSample_2 = "ROSE";

Teknik terimlerle, yukarıdakiler şu şekilde temsil edilir:

= ;

Dize Sınıf Java uzanır Nesne sınıfını.

Dize Birleştirme:

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

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

İki dizgimiz var str1 = "Rock" ve str2 = "Star"

Bu iki dizgeyi toplarsak str3 = “RockStar” şeklinde bir sonuca sahip olmalıyız.

Aşağıdaki kod parçacığını kontrol edin ve dizi birleştirme gerçekleştirmenin iki yöntemi açıklanmaktadır.

Birincisi String sınıfının " concat " yöntemini kullanmak 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 BirleştirmeString str1 = "Rock";String str2 = "Yıldız";// Yöntem 1: concat kullanmaDize str3 = str1.concat (str2);System.out.println (str3);// 2. Yöntem: "+" operatörünü kullanmaDize str4 = str1 + str2;System.out.println (str4);}}

Önemli Java dize yöntemleri:

Java String sınıfına birkaç soru soralım ve onlara cevap verip veremeyeceğini görelim;)

Dize "Uzunluk" Yöntemi

Verilen String'in uzunluğunu nasıl belirleyeceksiniz? "Uzunluk" olarak adlandırılan bir yöntem sağladım. Uzunluğu bulmak için ihtiyacınız olan Dize karşı kullanın.

public class Sample_String {public static void main (String [] args) {// Bu eğitici için örnek dizemizString str_Sample = "RockStar";// Bir Dizenin UzunluğuSystem.out.println ("Dize Uzunluğu: + str_Sample.length ());}}

çıktı:

Length of String: 8

Dize "indexOf" Yöntemi

Uzunluğunu bilirsem, hangi karakterin hangi konumda olduğunu nasıl bulurum? Kısaca bir karakterin indeksini nasıl bulacağım?

Kendin cevapladın dostum, belirlediğin belirli bir karakterin yerini belirlemene yardımcı olacak bir "indexOf" yöntemi var.

public class Sample_String {public static void main (String [] değiştirgeler) {// Konumdaki karakterString str_Sample = "RockStar";System.out.println ("5 konumundaki karakter: + str_Sample.charAt (5));// Belirli bir karakterin diziniSystem.out.println ("'S' karakter dizini: + str_Sample.indexOf ('S'));}}

Çıktı:

Character at position 5: tIndex of character 'S': 4

String "charAt" Yöntemi

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

Yine basit olan !! "CharAt" yöntemini kullanın ve karakterini bulmanız gereken dizini sağlayın.

public class Sample_String {public static void main (String [] değiştirgeler) {// Konumdaki karakterString str_Sample = "RockStar";System.out.println ("5 konumundaki karakter: + str_Sample.charAt (5));}}

Çıktı:

Character at position 5: t

String "CompareTo" Yöntemi

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

"CompareTo" yöntemini kullanın ve karşılaştırmak istediğiniz Dizeyi belirtin.

Sonucun büyük / küçük harfe duyarlı olmasını istemiyorsanız "CompareToIgnoreCase" seçeneğini kullanın.

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

public class Sample_String {public static void main (String [] args) {// Bir String ile KarşılaştırınString str_Sample = "RockStar";System.out.println ("'ROCKSTAR' ile Karşılaştır: + str_Sample.compareTo ("rockstar"));// Karşılaştır - Büyük / küçük harfleri yoksaySystem.out.println ("'ROCKSTAR' ile Karşılaştır - Harf Yoksayıldı: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}

Çıktı:

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

Dize "İçerme" Yöntemi

Dizenin neleri içermesi gerektiğini kısmen biliyorum, Dize'nin belirttiğim bir karakter dizisi içerip içermediğini nasıl onaylarım?

"İçerir" yöntemini kullanın ve kontrol etmeniz gereken karakterleri belirtin.

Yalnızca ve yalnızca bu dize belirtilen karakter değerleri dizisini içeriyorsa doğru döndürür .
public class Sample_String {public static void main (String [] args) {// String'in bir sıra içerip içermediğini kontrol edinString str_Sample = "RockStar";System.out.println ("'tar' dizisi içerir: + str_Sample.contains ("tar"));}}

Çıktı:

Contains sequence 'tar': true

Dize "uçlarıWith" Yöntemi

Bir Dize'nin belirli bir son ek ile bitip bitmediğini nasıl onaylarım? Yine cevapladın. "EndWith" yöntemini kullanın ve argümanlarda soneki belirtin.

Bağımsız değişken tarafından temsil edilen karakter dizisi, bu nesne tarafından temsil edilen karakter dizisinin bir son ekiyse, doğru döndürür .
public class Sample_String {public static void main (String [] args) {// Belirli bir diziyle bitip bitmediğini kontrol edinString str_Sample = "RockStar";System.out.println ("EndsWith karakteri 'r': + str_Sample.endsWith ("r"));}}

Çıktı:

EndsWith character 'r': true

"ReplaceAll" dizesi ve "replaceFirst" Yöntemi

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

Java String Replace, replaceAll ve replaceFirst yöntemleri. Dize'nin değiştirmek istediğiniz bölümünü ve değiştirilen Dize'yi bağımsız değişkenlerde belirtebilirsiniz.

public class Sample_String {public static void main (String [] args) {// Rock'ı Duke kelimesiyle değiştirinString str_Sample = "RockStar";System.out.println ("'Rock'u' Duke 'ile değiştirin: + str_Sample.replace ("Rock", "Duke"));}}

Çıktı:

Replace 'Rock' with 'Duke': DukeStar

String Java "tolowercase" ve Java "touppercase" Yöntemi

Tüm Dizimin küçük harf mi yoksa Büyük harf mi gösterilmesini istiyorum?

Dönüştürülmesi gereken Strings'e karşı sadece “toLowercase ()” veya “ToUpperCase ()” yöntemlerini kullanın.

public class Sample_String {public static void main (String [] args) {// LowerCase'e DönüştürString str_Sample = "RockStar";System.out.println ("LowerCase'e Dönüştür: + str_Sample.toLowerCase ());// UpperCase'e DönüştürSystem.out.println ("UpperCase'e Dönüştür: + str_Sample.toUpperCase ());}}

Çıktı:

Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR

Dikkat Edilmesi Gereken Önemli Noktalar:

  • String bir Final sınıfıdır ; yani, bir kez oluşturulduktan sonra değer değiştirilemez. Böylece String nesneleri değişmez olarak adlandırılır.
  • Java Sanal Makinesi (JVM), özellikle Dize Sabit Havuzu adı verilen Dizeler için bir bellek konumu oluşturur . Bu nedenle String, 'yeni' anahtar kelime olmadan başlatılabilir.
  • String sınıfı java.lang.String hiyerarşisine girer . Ancak bu sınıfı ithal etmeye gerek yoktur. Java platformu bunları otomatik olarak sağlar.
  • Dize referansı geçersiz kılınabilir ancak bu, içeriği silmez ; yani, eğer

String h1 = "merhaba";

h1 = "merhaba" + "dünya";

sonra "merhaba" Dizesi silinmez. Sadece sapını kaybediyor.

  • Aynı String için birden fazla referans kullanılabilir ancak aynı yerde ortaya çıkacaktır ; yani, eğer

String h1 = "merhaba";

String h2 = "merhaba";

String h3 = "merhaba";

daha sonra bellekte 3 referansla -h1, h2, h3- "merhaba" String için yalnızca bir havuz oluşturulur

  • Bir sayı "" içinde tırnak içine alınmışsa, o zaman artık bir sayı değil, bir dizge olur . Bu, eğer

Dize S1 = "Sayı: + "123" + "456";

Sistem. out .println (S1);

sonra yazdıracak: Numara: 123456

Başlatma böyle ise:

Dize S1 = "Sayı: + (123 + 456);

Sistem. out .println (S1);

sonra yazacaktır: Sayı: 579 Dizelerin hepsi bu kadar!