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