Java - 文字列: 初心者のガイド
こんにちは、未来のJavaの魔法使いたち!? 今日、私たちはJavaの文字列の世界に興味深い旅に出かけます。まだ一度もコードを書いたことがなくても心配しないでください。私たちは最初から始めて、少しずつ上達していきます。このチュートリアルの最後まで来たら、あなたもプロのようにJavaのコードを組み合わせることができるようになるでしょう!それでは、始めましょう!
文字列とは?
コーディングを始める前に、文字列とは何か理解しましょう。Javaでは、文字列はシンプルに文字のシーケンスです。それをネックレスに例えて、各ビーズが文字を表していると考えてください。これらの文字は、アルファベット、数字、記号、そしてスペースも含まれます。
文字列の作成
まず、いくつかの文字列を作成してみましょう。Javaでは、これを行う方法がいくつかあります:
String greeting = "こんにちは、世界!";
String name = new String("アリス");
最初の行では、greeting
という名前の文字列を作成し、その値に"こんにちは、世界!"を設定しています。これは文字列を作成する最も一般的な方法です。
2行目では、new
キーワードを使用して文字列オブジェクトを作成しています。この方法は少し特殊で、特定の状況で便利です。
文字列の長さ
いくつかの文字列をお持ちできたので、それらの長さを見てみましょう。Javaは便利なメソッドを提供しています:
String message = "Javaは楽しい!";
int length = message.length();
System.out.println("メッセージは" + length + "文字です。");
このコードを実行すると、以下のように出力されます:
メッセージは13文字です。
length()
メソッドは、スペースを含むすべての文字を文字列内で数えます!
文字列の結合
結合とは、文字列をお互いに結び合わせるという意味の単語です。Javaでは、+
演算子を使用してこれを行うことができます:
String firstName = "ジョン";
String lastName = "ドーエ";
String fullName = firstName + " " + lastName;
System.out.println(fullName);
これは以下のように出力されます:
ジョン ドーエ
名前の間にスペース " "
を追加していることに注意してください。それがなければ、"ジョンドーエ"となってしまいます!
フォーマット文字列の作成
時々、特定のフォーマットで文字列を作成したい場合があります。JavaはString.format()
メソッドを提供しています:
String name = "アリス";
int age = 30;
String formatted = String.format("私の名前は%sで、%d歳です。", name, age);
System.out.println(formatted);
これは以下のように出力されます:
私の名前はアリスで、30歳です。
この例では、%s
は文字列のプレースホルダーで、%d
は整数のプレースホルダーです。
JavaのStringクラスメソッド
JavaのStringクラスには、たくさんの便利なメソッドがあります。そのいくつかを見ていきましょう:
メソッド | 説明 | 例 |
---|---|---|
charAt(int index) |
指定されたインデックスの文字を返します |
"こんにちは".charAt(1) は 'に' を返します |
substring(int beginIndex, int endIndex) |
文字列の一部を返します |
"こんにちは".substring(1, 4) は "にち" を返します |
toLowerCase() |
すべての文字を小文字に変換します |
"こんにちは".toLowerCase() は "こんにちは" を返します |
toUpperCase() |
すべての文字を大文字に変換します |
"こんにちは".toUpperCase() は "こんにちは" を返します |
trim() |
文字列の両端から空白を削除します |
" こんにちは ".trim() は "こんにちは" を返します |
replace(char oldChar, char newChar) |
文字のすべての出現を置き換えます |
"こんにちは".replace('は', 'わ') は "こんにちは" を返します |
startsWith(String prefix) |
文字列が指定された接頭辞で始まるかどうかを確認します |
"こんにちは".startsWith("こ") は true を返します |
endsWith(String suffix) |
文字列が指定された接尾辞で終わるかどうかを確認します |
"こんにちは".endsWith("にち") は true を返します |
以下のようにいくつかのメソッドを動作させてみましょう:
String str = " Java Programming ";
System.out.println(str.trim().toLowerCase());
System.out.println(str.replace('a', 'o'));
System.out.println(str.substring(2, 6));
これは以下のように出力されます:
java programming
Jovo Progromming
Java
実際の例
これらすべてを、面白い小さなプログラムとして組み合わせてみましょう。ゲーム用のシンプルなユーザー名生成器を作成していると想象してください:
public class UsernameGenerator {
public static void main(String[] args) {
String firstName = "マリオ";
String lastName = "ブロス";
int favoriteNumber = 64;
// ユーザー名を生成
String username = firstName.substring(0, 3).toLowerCase() +
lastName.toUpperCase() +
String.format("%02d", favoriteNumber);
System.out.println("ようこそ、" + firstName + "さん!あなたのユーザー名は:" + username);
}
}
このプログラムを実行すると、以下のように出力されます:
ようこそ、マリオさん!あなたのユーザー名は:マリブロス64
以下が起こっていることです:
- 名前の最初の3文字を小文字にして取り出します。
- 姓を大文字にします。
- お気に入りの数字を常に2桁にフォーマットします(必要に応じて先頭に0を追加します)。
- これらの部分をすべて結合します。
そして、ユニークなユーザー名が得られます。
結論
おめでとうございます!あなたはJavaの文字列の世界に踏み込んだ第一歩を歩みました。文字列の作成、長さの取得、結合、フォーマット、そして一般的な文字列メソッドのいくつかについて説明しました。
覚えておいてください、練習は成功のもとです。これらの概念を試してみて、自分の例を作成し、間違いを恐れずに試してみてください。それが学びの道です!
次のレッスンでは、Javaの制御文について詳しく説明し、プログラムをよりダイナミックにする方法を学びます。それまでに、文字列と楽しんでください!
Credits: Image by storyset