import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// スã‚ャナーを使ã£ã¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‹ã‚‰ã®å…¥åŠ›ã‚’èªã¿å–ã‚‹
Scanner scanner = new Scanner(System.in);
System.out.print("1ã¤ç›®ã®æ–‡å—列を入力ã—ã¦ãã ã•ã„: ");
String str1 = scanner.nextLine(); // 1ã¤ç›®ã®æ–‡å—列ã®å…¥åŠ›ã‚’èªã¿å–り
System.out.print("2ã¤ç›®ã®æ–‡å—列を入力ã—ã¦ãã ã•ã„: ");
String str2 = scanner.nextLine(); // 2ã¤ç›®ã®æ–‡å—列ã®å…¥åŠ›ã‚’èªã¿å–り
// æ–‡å—列ãŒåŒã˜ã‹ã©ã†ã‹ã‚’判定
if (areStringsEqual(str1, str2)) {
System.out.println("入力ã•ã‚ŒãŸæ–‡å—列ã¯åŒã˜ã§ã™ã€‚");
} else {
System.out.println("入力ã•ã‚ŒãŸæ–‡å—列ã¯ç•°ãªã‚Šã¾ã™ã€‚");
}
}
// 2ã¤ã®æ–‡å—列ãŒåŒã˜ã‹ã©ã†ã‹ã‚’判定ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public static boolean areStringsEqual(String str1, String str2) {
return str1.equals(str2);
}
}
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã¯ã€areStringsEqual メソッドを使用ã—ã¦ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒå…¥åŠ›ã—ãŸ2ã¤ã®æ–‡å—列ãŒåŒã˜ã‹ã©ã†ã‹ã‚’判定ã—ã¦ã„ã¾ã™ã€‚æ¡ä»¶åˆ¤å®šã«ã¯ equals() メソッドãŒä½¿ç”¨ã•れã¦ãŠã‚Šã€ãれã«åŸºã¥ã„ã¦é©åˆ‡ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•れã¾ã™ã€‚
æ–‡å—åˆ—ã®æ¯”較
æ–‡å—åˆ—ã®æ¯”較ã¯ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã§2ã¤ã®æ–‡å—列を比較ã—ã¦ã€ãれらãŒåŒã˜ã‹ç•°ãªã‚‹ã‹ã‚’判定ã™ã‚‹æ“作ã§ã™ã€‚Javaã§ã¯ã€æ–‡å—列を比較ã™ã‚‹ãŸã‚ã«ã€equals() メソッドや == 演算åを使用ã§ãã¾ã™ã€‚
equals() メソッドを使用ã—ãŸæ–‡å—åˆ—ã®æ¯”較:
1.equals() メソッドã¯ã€2ã¤ã®æ–‡å—列ãŒåŒã˜ã‹ã©ã†ã‹ã‚’判定ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れã¾ã™ã€‚
equals() ãƒ¡ã‚½ãƒƒãƒ‰ã¯æ–‡å—列ã®å†…容を比較ã—ã¾ã™ã€‚ã¤ã¾ã‚Šã€æ–‡å—列ã®ä¸èº«ãŒåŒã˜ã§ã‚れ㰠true ã‚’è¿”ã—ã€ç•°ãªã‚Œã° false ã‚’è¿”ã—ã¾ã™ã€‚
String str1 = "Hello";
String str2 = "World";
boolean isEqual = str1.equals(str2); // isEqual 㯠false
2.== 演算åを使用ã—ãŸæ–‡å—åˆ—ã®æ¯”較:
== 演算åã¯ã€2ã¤ã®æ–‡å—列ãŒåŒã˜ã‚ªãƒ–ジェクトをå‚ç…§ã—ã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’判定ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れã¾ã™ã€‚
== 演算åã¯æ–‡å—列ã®ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã®æ¯”較ã§ã‚ã‚Šã€æ–‡å—列ã®å†…容ã§ã¯ãªãå‚照を比較ã—ã¾ã™ã€‚
String str1 = "Hello";
String str2 = "Hello";
boolean isSameReference = (str1 == str2); // isSameReference 㯠true
æ–‡å—åˆ—ã®æ¯”較ã«ãŠã„ã¦ã¯ã€é€šå¸¸ã€equals() メソッドを使用ã™ã‚‹ã“ã¨ãŒæŽ¨å¥¨ã•れã¾ã™ã€‚ãªãœãªã‚‰ã€equals() ãƒ¡ã‚½ãƒƒãƒ‰ã¯æ–‡å—列ã®å†…容を比較ã™ã‚‹ãŸã‚ã€2ã¤ã®ç•°ãªã‚‹æ–‡å—列オブジェクトã§ã‚ã£ã¦ã‚‚ã€å†…容ãŒåŒã˜ã§ã‚れ㰠true ã‚’è¿”ã—ã¾ã™ã€‚一方ã€== 演算åã¯å‚ç…§ã®æ¯”較ã§ã‚ã‚‹ãŸã‚ã€åŒã˜æ–‡å—列リテラルを共有ã™ã‚‹å ´åˆã«ã®ã¿ true ã‚’è¿”ã—ã¾ã™ã€‚
æ–‡å—列比較ã¯ã€æ–‡å—列ãŒåŒã˜ã‹ã©ã†ã‹ã‚’確èªã™ã‚‹ãŸã‚ã«éžå¸¸ã«é‡è¦ã§ã‚ã‚Šã€æ¡ä»¶åˆ¤å®šã‚„æ–‡å—列æ“作ã®ä¸€éƒ¨ã¨ã—ã¦åºƒã使用ã•れã¾ã™ã€‚
æ–‡å—åˆ—ã®æ¯”較ã§== 演算åãŒfalseã‚’è¿”ã™ä¾‹
== 演算å㌠false ã‚’è¿”ã™ä¾‹ã¨ã—ã¦ã€Javaã§ã¯æ–‡å—列リテラルã§ã¯ãªãã€new ã‚ーワードを使用ã—ã¦æ–°ã—ã„æ–‡å—列オブジェクトを生æˆã—ãŸå ´åˆãŒæŒ™ã’られã¾ã™ã€‚new ã‚ーワードを使用ã™ã‚‹ã¨ã€æ–°ã—ã„æ–‡å—列オブジェクトãŒãƒ¡ãƒ¢ãƒªå†…ã«ä½œæˆã•れã€åŒã˜å†…å®¹ã®æ–‡å—列ã§ã‚ã£ã¦ã‚‚別々ã®ã‚ªãƒ–ジェクトã¨ã—ã¦æ‰±ã‚れã¾ã™ã€‚以下ã¯ãã®ä¾‹ã§ã™ï¼š
String str1 = new String("Hello");
String str2 = new String("Hello");
boolean isSameReference = (str1 == str2); // isSameReference 㯠false
ã“ã®å ´åˆã€str1 㨠str2 ã¯åŒã˜å†…å®¹ã®æ–‡å—列をæŒã£ã¦ã„ã¾ã™ãŒã€ãれãžã‚Œåˆ¥ã€…ã®æ–‡å—列オブジェクトをå‚ç…§ã—ã¦ã„ã‚‹ãŸã‚ã€== 演算å㯠false ã‚’è¿”ã—ã¾ã™ã€‚æ–‡å—列ã®å†…容ãŒåŒã˜ã§ã‚ã£ã¦ã‚‚ã€æ–°ã—ã„オブジェクトãŒç”Ÿæˆã•れãŸãŸã‚ã€ãれらã®å‚ç…§ã¯ç•°ãªã‚Šã¾ã™ã€‚
ã“ã®ã‚ˆã†ãªçжæ³ã§ã¯ã€æ–‡å—列ã®å†…容を比較ã™ã‚‹ãŸã‚ã« equals() メソッドを使用ã™ã‚‹ã“ã¨ãŒé©åˆ‡ã§ã™ã€‚equals() ãƒ¡ã‚½ãƒƒãƒ‰ã¯æ–‡å—列ã®å†…容を比較ã—ã€åŒã˜å†…容ã®å ´åˆã« true ã‚’è¿”ã—ã¾ã™ã€‚
boolean isEqual = str1.equals(str2); // isEqual 㯠true
ã—ãŸãŒã£ã¦ã€æ–‡å—列ã®å†…容を比較ã™ã‚‹å ´åˆã«ã¯ã€equals() メソッドを使用ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚
「003 演算åã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント