Java 17 Silver ・ 2. Java の基本データ型と文字列の操作
文字列の作成と操作 (テキスト・ブロックを含む) の練習問題と解説
Java 17 Silver ラボ の「2. Java の基本データ型と文字列の操作 › 文字列の作成と操作 (テキスト・ブロックを含む)」の問題 13 問を載せています。問題を開くと、正解と選択肢ごとの解説が読めます。
文字列の作成と操作 (テキスト・ブロックを含む) について
String と StringBuilder のメソッドの結果、== と equals による比較、Java 15 で正式になったテキスト・ブロックの書き方を扱います。
String は不変なので、s.concat("x") や s.toUpperCase() の結果を代入しなければ s は変わりません。substring(1, 3) は終わりの位置を含まず、indexOf は見つからないと -1 を返します。== は参照の比較で、リテラル同士やコンパイル時に決まる連結は同じオブジェクトになりますが、new String で作ると別のオブジェクトです。StringBuilder は中身が変わり、equals は内容ではなく参照を比べます。
テキスト・ブロックは """ のあとで必ず改行し、1 行には書けません。行末の \ は改行を消して次の行とつなぎます。インデントは、閉じる """ を含めて一番浅い行に合わせて取り除かれるので、閉じる位置を変えると結果の空白も変わります。
問題 (13 問)
- リテラルと new String
- コンパイル時の文字列連結
- String は不変
- substring と indexOf
- charAt の範囲外
- null を連結する
- 空白に関するメソッド
- StringBuilder のメソッドチェーン
- StringBuilder の delete と length
- StringBuilder の比較
- テキストブロックの行末の \
- テキストブロックを1行で書く
- テキストブロックのインデント
「文字列の作成と操作 (テキスト・ブロックを含む)」をこのサイトで解く
広告