String Comparison
Coddy'nin Java Journey'sinin Temeller bölümünün bir parçası — ders 70 / 73.
Java'da, dizeleri karşılaştırmak, tamsayılar veya karakterler gibi ilkel veri türlerini karşılaştırmaktan daha doğrudan değildir. Dizeleri eşitlik için karşılaştırmak üzere == operatörünü kullanamazsınız çünkü dizeler nesnelerdir ve == bellek adreslerini, içeriklerini değil karşılaştırır. Bunun yerine, dizeler içindeki gerçek karakterleri karşılaştırmak için String sınıfı tarafından sağlanan belirli yöntemleri kullanmanız gerekir.
İşte dize karşılaştırması için temel yöntemler:
equals(Object other): Dizesini başka bir nesneye (genellikle başka bir dizeye) karşılaştırır. Dizeler aynı karakterleri aynı sırada içeriyorsatrue, aksi takdirdefalsedöndürür. Bu yöntem büyük-küçük harfe duyarlıdır.
equalsIgnoreCase(String other):equals'a benzer, ancak büyük/küçük harf duyarsızdır. Dizeler aynı karakterlere sahipse, durumlarına bakılmaksızıntruedöndürür, aksi takdirdefalse.
compareTo(String other): İki dizeyi leksikografik olarak karşılaştırır (Unicode değerlerine göre). Dizeler eşitse 0 döndürür, ilk dize ikinciden küçükse negatif bir sayı döndürür ve ilk dize ikinciden büyükse pozitif bir sayı döndürür. Bu yöntem büyük-küçük harfe duyarlıdır.
compareToIgnoreCase(String other):compareTo'ya benzer, ancak büyük/küçük harf farkını yoksayar.
İşte bir örnek:
String str1 = "hello";
String str2 = "hello";
String str3 = "HELLO";
String str4 = "world";
boolean eq1 = str1.equals(str2); // doğru
boolean eq2 = str1.equals(str3); // yanlış
boolean eq3 = str1.equalsIgnoreCase(str3); // doğru
int cmp1 = str1.compareTo(str2); // 0
int cmp2 = str1.compareTo(str4); // negatif değer
int cmp3 = str4.compareTo(str1); // pozitif değer
int cmp4 = str1.compareToIgnoreCase(str3); // 0Görev
Kolayİki string'i girdi olarak alan ve aşağıdaki karşılaştırmaları gerçekleştiren compareStrings adında bir metot oluşturun:
- İki string'in
equalskullanarak eşit olup olmadığını kontrol eder ve sonucu yazdırır. - İki string'in (büyük/küçük harf duyarsız)
equalsIgnoreCasekullanarak eşit olup olmadığını kontrol eder ve sonucu yazdırır. - İki string'i
compareTokullanarak karşılaştırır ve sonucu yazdırır. - İki string'i (büyük/küçük harf duyarsız)
compareToIgnoreCasekullanarak karşılaştırır ve sonucu yazdırır.
Girdi string'leri HELLO ve hello için örnek çıktı:
HELLO equals hello: false
HELLO equalsIgnoreCase hello: true
HELLO compareTo hello: -32
HELLO compareToIgnoreCase hello: 0Kopya kağıdı
Java'da, dizeleri karşılaştırmak için belirli yöntemleri kullanın, bellek adreslerini karşılaştıran == operatörünü değil:
equals(Object other): Büyük/küçük harfe duyarlı eşitlik karşılaştırmasıequalsIgnoreCase(String other): Büyük/küçük harfe duyarsız eşitlik karşılaştırmasıcompareTo(String other): Büyük/küçük harfe duyarlı leksikografik karşılaştırma (eşitse 0 döndürür, ilk < ikinci ise negatif, ilk > ikinci ise pozitif)compareToIgnoreCase(String other): Büyük/küçük harfe duyarsız leksikografik karşılaştırma
String str1 = "hello";
String str2 = "HELLO";
boolean eq1 = str1.equals(str2); // false
boolean eq2 = str1.equalsIgnoreCase(str2); // true
int cmp1 = str1.compareTo(str2); // positive value
int cmp2 = str1.compareToIgnoreCase(str2); // 0Kendin dene
import java.util.Scanner;
public class Main {
public static void compareStrings(String str1, String str2) {
// Buraya kodunuzu yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str1 = scanner.nextLine();
String str2 = scanner.nextLine();
compareStrings(str1, str2);
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else