java string compareto method with programming examples
Bu Eğitimde, Java String CompareTo () Metodu hakkında bilgi edinecek ve Java'da Syntax ve Örneklerle birlikte CompareTo'nun nasıl ve ne zaman kullanılacağını göreceğiz:
ComparTo () Java yönteminin yardımıyla Java Dizgesini nasıl işleyeceğinizi anlayacaksınız. Java CompareTo () yöntemiyle elde edeceğimiz çıktı türleri de bu öğreticide ele alınacaktır.
Bu öğreticiyi okuduktan sonra, Dize işlemi için .compareTo () yöntemini gerektiren Java Dize programlarını kesinlikle anlayabilecek ve yazabileceksiniz.
=> Mükemmel Java Eğitim Kılavuzuna Buradan Bakabilirsiniz.
Ne öğreneceksin:
Java String CompareTo () Yöntemi
Java String CompareTo () yöntemi, iki Dizenin aynı olup olmadığını kontrol etmek için kullanılır. Adından da anlaşılacağı gibi, verilen iki Dizeyi karşılaştırır ve aynı mı yoksa hangisinin daha büyük olduğunu bulur.
Java CompareTo () yönteminin dönüş türü bir tamsayıdır ve sözdizimi şu şekilde verilir:
int compareTo(String str)
Yukarıdaki sözdiziminde str, çağrılan String ile karşılaştırılan bir String değişkenidir.
Örneğin: String1.compareTo (String2);
Java CompareTo () işlevinin başka bir varyasyonu da
int compareTo(Object obj)
Yukarıdaki sözdiziminde, String'i bir Object obj ile karşılaştıracağız.
Örneğin ,String1.compareTo ('Bu bir String Nesnesidir');
Burada 'Bu bir String Nesnesi', ComparTo () öğesine aktardığımız bir argümandır ve bunu String1 ile karşılaştırır.
Java CompareTo () Yöntem Çıktı Türleri
Çıktının, çıktı değerine dayalı üç türü vardır.
Üç tür çıkış değerinin tümünü açıklayan tablo aşağıdadır.
CompareTo () Çıktı Değeri | Açıklama |
---|---|
Sıfır | İki Tel eşittir. |
Sıfırdan Büyük | Çağıran String, str'den büyüktür. |
Sıfırdan daha az | Çağrılan String, str'den küçüktür. |
Bu üç değişkeni bir örnek yardımıyla ayrıntılı olarak anlayalım.
Bir Programlama Örneği
ComparTo () Java yönteminin bir örneğini burada bulabilirsiniz. Karşılaştırma, karakterlerin ASCII değerindeki farka dayanmaktadır. Genel anlamda, bir Dize sözlükte diğerinden önce geliyorsa diğerinden daha azdır.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Grand Theft Auto'; String str2 = 'Assassin Creed'; String str3 = 'Call of Duty'; String str4 = 'Need for Speed'; String str5 = 'Grand Theft Auto'; System.out.println(str1.compareTo(str2)); // Since 'A' is greater than 'G' by 6 characters, so it will return 6 System.out.println(str2.compareTo(str3)); // Since 'C' is smaller than 'A' by 2 characters, so it will return -2 System.out.println(str3.compareTo(str4)); //Since 'N' is smaller than 'C' by 11 characters, so it will return -11 System.out.println(str4.compareTo(str1)); //Since 'G' is Greater than 'N' by 7 characters, so it will return 7 System.out.println(str1.compareTo(str5)); //Strings are equal } }
Çıktı:
Örnek Açıklaması
Yukarıdaki örnekte, beş girdi Dizesi aldık ve .compareTo () Java yöntemini kullanarak aralarında temel bir karşılaştırma yaptık. İlk karşılaştırmada, alfabe dizisinde 'A' nın 'G' den 6 karakter büyük olması nedeniyle +6 sonucunu verir. İkinci karşılaştırmada, 'C' harfi 'A' dan 2 karakter daha küçük olduğu için -2 döndürüyor.
Son karşılaştırmada (str1 ve str5 arasında), her iki String de eşit olduğundan, 0 döndürür.
Çeşitli Senaryolar
.CompareTo () yöntemini ayrıntılı olarak anlayalım. Burada farklı senaryoları ve her bir vakanın çıktısını analiz etmeye çalışacağız.
Senaryo1: Aşağıdaki iki Dizeyi düşünün. Onları karşılaştırıp çıktıyı göreceğiz.
String str1 = 'Yazılım Testi';
String str2 = “Yazılım Test Yardımı”;
Str1.compareTo (str2) çıktısı ne olacak?
Cevap: Str2, ilk String'den 5 karakter (bir boşluk + dört karakter) fazla içerdiğinden. Çıktı -5 olmalıdır. Benzer şekilde, str2'yi str1 ile karşılaştırdığımızda çıktı +5 olmalıdır.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Software Testing'; String str2 = 'Software Testing Help'; System.out.println(str1.compareTo(str2)); // Since str2 contains 5 characters more than the str1, output should be -5 System.out.println(str2.compareTo(str1)); // Since str2 contains 5 characters less than the str1, output should be +5 } }
Çıktı:
Senaryo2: Aşağıdaki iki Dizeyi düşünün. Onları karşılaştırıp çıktıyı göreceğiz.
Dize str1 = “”;
Dize str2 = ”“;
sql sunucusu için veri maskeleme araçları
Str1.compareTo (str2) çıktısı ne olacak?
Cevap: Str2, str1'den bir karakter (boşluk) fazla içerdiğinden, çıktıyı -1 olarak vermelidir.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = ''; String str2 = ' '; System.out.println(str1.compareTo(str2)); //Since str2 contains one character more than str1, it will give -1 System.out.println(str2.compareTo(str1)); //Since str1 contains one character less than str1, it will give 1 } }
Çıktı:
Senaryo3: Aşağıdaki iki Dizeyi düşünün. Onları karşılaştırıp çıktıyı göreceğiz.
String str1 = 'SAKET';
String str2 = 'saket';
Str1.compareTo (str2) çıktısı ne olacak?
Cevap: Burada Dizeler eşittir ancak str1 büyük harf, str2 ise küçük harfe sahiptir. Bu, Java CompareTo () yönteminin sınırlamasıydı. Elde edeceğimiz çıktı sıfır olmayan olacaktır. Java, bu sorunun üstesinden gelmek için .compareTo () yönteminin başka bir varyasyonunu tanıttı.
.compareToIgnoreCase ()
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); //The ASCII representation of the lowercase and uppercase has a difference of 32 } }
Çıktı:
Java String CompareToIgnoreCase () Yöntemi
Problemi durum uyuşmazlığındaki (Scenario3) tartıştığımız gibi, Dizelerin büyük / küçük harf uyumsuzluğunu göz ardı edecek başka bir .compareTo () yöntemine sahibiz.
Bu yöntemin sözdizimi şu şekilde verilmiştir:
int compareToIgnoreCase(String str)
.CompareToIgnoreCase () durum uyumsuzluğunu dikkate almadığı gerçeği dışında her şey aynı kalır.
Bir Programlama Örneği
ComparTo () Java yönteminin bir örneğini burada bulabilirsiniz. Bu örnekte, Java CompareTo () ve CompareToIgnoreCase () çıktılarındaki farkı gösterdik. Java CompareTo (), -32'lik bir fark verirken, ComparToIgnoreCase () 0'lık bir fark verecektir.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); System.out.println(str1.compareToIgnoreCase(str2)); } }
Çıktı:
Örneğin Açıklaması:
Yukarıdaki örnekte, bir String'i Büyük Harfte ve diğerini Küçük Harfte tutan aynı değere sahip iki String aldık. Şimdi, bir Java .compareTo () yöntemi, büyük / küçük harf durumu dikkate alınacağı için Küçük ve Büyük harf değerindeki ASCII farkına dayalı sonuçlar sağlayacaktır.
Ancak Java .compareToIgnoreCase (), büyük / küçük harf durumunu dikkate almaz ve 0 olarak bir sonuç verir, bu da her iki Dizenin eşit olduğu anlamına gelir.
Sıkça Sorulan Sorular
S # 1) ==, equals ve .compareTo () arasındaki fark nedir?
Cevap: Aşağıda ==, equals () ve CompareTo () arasındaki temel farklar listelenmiştir.
!HATA! beklenmeyen operatör '=' | eşittir () | karşılaştırmak() |
---|---|---|
!HATA! beklenmeyen operatör '=' | equals () bir yöntemdir. | CompareTo () bir yöntemdir. |
!HATA! beklenmeyen operatör '=' | equals () yöntemi içerik karşılaştırmasını yapar. | CompareTo (), karşılaştırmayı ASCII değerine göre yapar. |
Dönüş türü Boole'dir. | Dönüş türü Boole'dir. | Dönüş türü Tamsayı'dır. |
String değişkeninin referansını kullanır, bu nedenle karşılaştırma yapılırken bellek adresleri aynı olmalıdır. | Nesnelerin mantıksal olarak sıralanmasını gerektirmez. | Nesnelerin mantıksal olarak sıralanmasını gerektirir. |
İşte farkı gösteren bir programlama örneği.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = new String('Testing'); String str2 = 'Testing'; System.out.println(str1.compareTo(str2)); System.out.println(str1 ==str2); System.out.println(str1.equals(str2)); } }
Çıktı:
S # 2) Java CompareTo () yöntemi büyük / küçük harfe duyarlı mı?
Cevap: Evet. Java .compareTo () yöntemi, karakterleri büyük / küçük harf olarak değerlendirir ve büyük / küçük harf duyarlıdır.
Aşağıdaki resimdir.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'Software'; String str2 = 'SOFTWARE'; System.out.println(str1.compareTo(str2)); } }
Çıktı:
ddos saldırısı nasıl gönderilir
S # 3) CompareTo () Java'da nasıl çalışır?
Cevap: Java CompareTo () yöntemi aslında bir String'in karakterlerinin ASCII değerlerini karşılaştırır.
.CompareTo () yöntemini kullanarak bir virgül ve bir boşluk karakterini karşılaştıracağımızı varsayalım. Bildiğimiz gibi, bir boşluk karakterinin ASCII değeri 32, virgülün ASCII değeri 44 vardır. Uzayın ASCII değeri ile virgül arasındaki fark 12'dir.
Aşağıda programlama örneği verilmiştir.
package codes; public class CompareTo { public static void main(String() args) { String str1 = ','; String str2 = ' '; System.out.println(str1.compareTo(str2)); } }
Çıktı:
S # 4) Java .compareTo () yöntemi kullanılarak bir Dizenin uzunluğu nasıl bulunur?
Cevap: Aşağıda, Java .compareTo () yöntemini kullanarak bir dizenin uzunluğunu bulan program verilmiştir.
Bu örnekte, uzunluğunu bulmamız gereken bir String ve boş bir String aldık. Ardından String'i boş String ile karşılaştırdık. Aralarındaki fark İpin uzunluğu olacaktır.
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }
Çıktı:
S # 5) CompareTo yöntemi ne döndürür?
Cevap: Java CompareTo () yönteminin dönüş türü tamsayıdır. Tam sayı değeri sıfır, pozitif tam sayı veya negatif tam sayı olabilir.
Sonuç
Bu eğiticide, Java String CompareTo () yöntemini ayrıntılı olarak anladık. Temel işlevsellik, uygulama hakkındaki ayrıntılar ve kullanım, özellikle programlama örnekleri, String CompareTo () yöntemiyle ilgili kavramın daha iyi anlaşılması için sağlanmıştır.
Ayrıca Oku = >> Java Karşılaştırılabilir ve Karşılaştırıcı Arabirimler
Bu yöntemi kullanarak, iki Dizeyi karşılaştırabilirsiniz ve String'in uzunluğunu bulmak gibi birçok başka kullanım veya uygulama alanı, sık sorulan sorularda ele alınan CompareTo () yönteminin yardımıyla da mümkündür.
=> Özel Java Eğitimi Eğitim Dizisi İçin Burayı Ziyaret Edin.
Önerilen Kaynaklar
- Java Dize Eğitimi | Örneklerle Java Dize Yöntemleri
- Java String Split () Yöntemi - Java'da Bir Dizeyi Bölme
- String Buffer ve String Builder Eğitimi ile Java String
- Python Dizesi İşlevleri
- Java String Array- Kod Örnekleriyle Öğretici
- Java'da ListIterator Arayüzü Örneklerle
- Java Arayüzü ve Örneklerle Soyut Sınıf Eğitimi
- OOP Java: Java'da Nesne Tabanlı Programlamaya Giriş