【6日でできるJava入門】Stringクラス① クラスの中身


 Javaのプログラムで文字列を扱う際、Stringクラスはとても重要です。これまでに基本データ型や制御文の使い方を学んできましたが、ここからは、Javaが標準で提供するクラスを活用することで、より高度な処理が可能になります。
 ここでは、Stringクラスを題材にして、クラスの中身(フィールド、メソッド、コンストラクタ)や、その初期化や利用方法について学びます。


1.クラスとStringクラスの概要

1.1. クラスとは?

  • クラスは、データ(フィールド変数)と操作手段(メソッド)をまとめた設計図のようなものです。
  • 例:Stringクラスは「文字列を表すクラス」で、文字列の値や長さ、操作メソッドなどを含みます。
用語意味
クラスデータと処理をまとめたもの。型の1つ。
フィールドクラス内の変数。
メソッドクラス内の操作手段。関数や処理。
インスタンスクラスを使って作られた実体(オブジェクト)

1.2. Stringクラスの宣言・初期化・代入

  • String型の変数も、int型などと同じく宣言できます。
  • 初期化にはnew演算子とコンストラクタを使います。
String str;                         // 宣言のみ
str = new String("こんにちは");       // 初期化と同時に値を代入

// よく使われる短縮記法(特例)
String str2 = "おはようございます";   // new String()と同等

ファイル名: lesson14_1.html

public class lesson14_1 {
    public static void main(String[] args) {
        String str1 = new String("Hello Java!");
        String str2 = "おはようございます";
        System.out.println(str1);
        System.out.println(str2);
    }
}

実行結果

Hello Java!
おはようございます

2.クラスの中身とStringクラスの構造

2.1. フィールド

  • クラス内部に持つ変数をフィールドと呼びます。
  • 例:Stringクラスなら「文字列の内容」「文字数」などがフィールドとして管理されています。
  • ただし、Stringのフィールドは外部から直接アクセスできないようになっていて、メソッドを通じてのみ操作可能です。

2.2. メソッド

  • メソッドは、クラスが持つ操作(処理)のことです。
  • 例:toUpperCase()メソッドは、文字列をすべて大文字に変換します。

ファイル名: lesson14_2.html

public class lesson14_2 {
    public static void main(String[] args) {
        String original = "Java Programming";
        String upper = original.toUpperCase();
        System.out.println(upper); // JAVA PROGRAMMING
    }
}

実行結果

JAVA PROGRAMMING
代表的なStringメソッド説明戻り値
length()文字数を取得int
toUpperCase()すべて大文字に変換String
toLowerCase()すべて小文字に変換String
substring(int, int)部分文字列を抜き出すString

2.3. 戻り値

  • メソッドの処理結果は「戻り値」として返されます。
  • 例:substring()は部分文字列を新たなStringとして返します。

ファイル名: lesson14_3.html

public class lesson14_3 {
    public static void main(String[] args) {
        String word = "プログラミング";
        String sub = word.substring(0, 4); // 先頭4文字
        System.out.println(sub); // プログラ
    }
}

実行結果

プログラ

2.4. コンストラクタ

  • コンストラクタは、クラスのインスタンス生成時に呼び出される特別なメソッドです。
  • Stringクラスの主なコンストラクタ例:
コンストラクタ名説明
String()空文字列で初期化
String(String original)他のStringを元に初期化
String(byte[] bytes)バイト配列から文字列生成
String(char[] value)char配列から文字列生成

ファイル名: lesson14_4.html

public class lesson14_4 {
    public static void main(String[] args) {
        char[] chars = {'A', 'B', 'C', 'D'};
        String str = new String(chars); // char配列から初期化
        System.out.println(str); // ABCD
    }
}

実行結果

ABCD

まとめ

  • Stringはクラスであり、基本データ型とは違い、多くの便利なメソッドや初期化手段を持つ。
  • フィールドには直接アクセスできないが、メソッドを通じて様々な操作が可能
  • インスタンス生成時にはコンストラクタが使われ、様々な初期化ができる。