久しぶりにJava SkillCheckを解いていたら恐ろしく忘れていたので、、
備忘録として復習しながら記録しておくことにします。
【skillCkeckの設問】
Javaの標準入力から任意の文字列を入力し、取得した文字列を反転させた文字列を出力
A. StringBuilder.reverseを使用
ここからは Java SrtingBuilderについてのまとめ
JavaのSrtingBuilderは文字列を扱うクラスのこと
StringとはJavaに用意された標準クラスの一つ「java.lang」というパッケージ
Stringクラスに格納されたデータは一度代入されると変更はできない。
例)String str = "いぬ" のあと値に str ="ねこ"と入力しても出力はされるが
strが格納された”いぬ”のメモリ領域を参照しているのではなく、新たなstrとしてstr"ねこ"メモリ領域に格納される。
基本コード
Main.java
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("ABC");
System.out.println(sb.toString());
各メソッドは個別で実行
main.java
public class Main {
public static void main(String[] args) {
/*
* StringBuilderクラスをインスタンス化
* デフォルトで16文字分の容量(バッファ)を持つ。
*/
StringBuilder sb = new StringBuilder();
//文字列や他の値を追加する(StringBuilder.append)
sb.append("ABCdefGHI");
System.out.println(sb.toString()); // ABCdefGHI
//格納されている文字列の並びを逆にする(StringBuilder.reverse)
sb.reverse();
System.out.println(sb.toString()); // IHGfedCBA
//指定範囲の部分文字列を別の文字列に置換する(StringBuilder.replace)
//public StringBuilder replace(int start, int end, String sb)
sb.replace(3, 6, "DEF");
System.out.println(sb.toString()); // ABCDEFGHI
sb.replace(1, sb.length() - 1, "-");
System.out.println(sb.toString()); // A-I
//指定した位置に文字列を挿入する(StringBuilder.insert)
//StringBuilder insert(int offset, String str)
sb.insert(2,"XYZ");
System.out.println(sb.toString()); //ABXYZCDEFGHI
//指定範囲の部分文字列を削除する(StringBuilder.delete)
sb.delete(2, 5);
System.out.println(sb.toString()); //ABCDEFGHI
//指定範囲の部分文字列を取得する(StringBuilder.substring)
System.out.println(sb.substring(3, 6)); // DEF
//格納されている文字列の長さを取得する(StringBuilder.length)
System.out.println(sb.length()); //9
}
}
参照
https://it-kyujin.jp/article/detail/1285/
https://www.javadrive.jp/start/stringbuilder/index3.html