このJavaコードは文字列を操作して最終的な出力を得るものです。コメントを加えて、各ステップを解説します。
public class Sample {
public static void main(String[] args) {
String a = "A"; // 文字列aに"A"を代入
a = a.concat("B"); // 文字列aに"B"を連結して、aは"AB"になる
String b = "C"; // 文字列bに"C"を代入
a = a.concat(b); // 文字列aにbの値"C"を連結して、aは"ABC"になる
a.replace('C', 'D'); // 文字列a内の'C'を'D'に置換しようとするが、置換された結果は保存されない。もしもa = a.replace('C', 'D');だったら保存された。
a = a.concat(b); // 文字列aに再びbの値"C"を連結して、aは"ABCC"になる
System.out.println(a); // 文字列aを出力、"ABCC"が出力される
}
}
このコードにおいて重要なポイントは、a.replace('C', 'D');
の行です。このメソッドは文字列の中の文字を置換するものですが、JavaのStringは不変なので、このメソッドを呼び出しても元の文字列a
は変更されません。そのため、この操作の結果は保存されず、a
の値は変わらないままです。その後、a.concat(b);
で"C"
が再び連結されるため、最終的な出力は"ABCC"
となります。
したがって、選択肢C「[ABCC]」が正解となります。
Top comments (0)