Java | 「文字列リテラル」の基本

Java Java
スポンサーリンク

文字列リテラルをやさしく理解する(初心者向け)

今回は Java の文字列リテラル を噛み砕いて、たっぷり例題と「実際に動く .java ファイル」をつけて説明します。初めてでもわかるように段階的に進めます。


1. 文字列リテラルって何?

  • 文字列リテラル はプログラム中に直接書かれた文字のかたまり(値)です。
  • Javaでは ダブルクォーテーション " で囲む と文字列リテラルになります。
    例: "Hello", "こんにちは", ""(空文字)

2. 基本ルール(覚えておくこと)

  • 文字列は "(ダブルクォート)で囲む。シングルクォート '1文字(char)用
    • String s = "A"; ← OK
    • char c = 'A'; ← OK
    • String s = 'A'; ← エラーになる
  • 空文字(中身がない文字列)は "" と書く。
  • 日本語や絵文字も文字列にできる(エンコーディングに注意:通常はUTF-8で問題なし)。

3. よく使う操作と例

出力(画面に表示する)

System.out.println("Hello, Java!");
System.out.println("こんにちは、世界!");
Java

変数に入れる(型は String)

String greeting = "おはよう";
System.out.println(greeting);
Java

文字列のつなぎ(連結)

  • + でつなげられます。
String a = "Hello";
String b = "World";
System.out.println(a + " " + b); // Hello World
Java

数値や変数と結合するとき

int age = 20;
String msg = "年齢は " + age + " 歳です";
System.out.println(msg); // 年齢は 20 歳です
Java

4. エスケープシーケンス(文字列内で特別な記号を使う)

文字列の中で " を使いたい、または改行やタブなど特殊な文字を入れたい場合は バックスラッシュ \ を使います。

  • \" — ダブルクォートを文字として入れる
  • \\ — バックスラッシュを入れる
  • \n — 改行
  • \t — タブ

例:

System.out.println("He said, \"Java is fun!\""); // He said, "Java is fun!"
System.out.println("1行目\n2行目");              // 2行に分かれて表示
System.out.println("フォルダは C:\\Users\\Halu"); // バックスラッシュを表示
Java

5. 注意しやすいミス(初心者がよくハマるポイント)

  • ダブルクォートの閉じ忘れ → コンパイルエラー
  • シングルクォートで文字列を書いてしまう('Hello' はエラー)
  • 文字列と数値の連結で期待と違う挙動になることがある(左から順に評価される)
    例: System.out.println(1 + 2 + " apples");3 apples
    System.out.println("Total: " + 1 + 2);Total: 12(先に文字列と1が結合されるため)

6. 実践的な例題(解説付き)

例題1(基本)

画面に Hello Java を表示するプログラムを作りなさい。
解答(実行ファイル): Hello1.java

public class Hello1 {
  public static void main(String[] args) {
    System.out.println("Hello Java");
  }
}
Java

例題2(変数と結合)

名前と年齢を変数で持ち、「<名前>さんは<年齢>歳です」と表示するプログラムを作りなさい。
解答(実行ファイル): PersonInfo.java

public class PersonInfo {
  public static void main(String[] args) {
    String name = "太郎";
    int age = 25;
    System.out.println(name + "さんは" + age + "歳です");
  }
}
Java

例題3(エスケープ)

次の2行を1つの System.out.println で表示しなさい(出力は2行になる)。

Path:
C:\Users\Public

解答(実行ファイル): ShowPath.java

public class ShowPath {
  public static void main(String[] args) {
    System.out.println("Path:\nC:\\Users\\Public");
  }
}
Java

例題4(計算と文字列の注意)

次の2つをそれぞれ表示させたときの出力を予想しなさい。

System.out.println(1 + 2 + " apples");
System.out.println("Total: " + 1 + 2);
Java

解説

  • 1 + 2 + " apples"3 apples(先に数値同士が足される)
  • "Total: " + 1 + 2Total: 12(左から結合が進み、"Total: 1"2 が連結される)

7. 練習問題(自力でやってみよう) — 解答付き

  1. 空文字 "" を使って、2つの文字列を結合して「HelloWorld」と表示するプログラムを作れ。
    • ヒント:"Hello" + "" + "World"
  2. System.out.println("She said, \"Hi!\""); の出力は?(実行して確認してみよう)
  3. String s = ""; if (s.equals("")) System.out.println("空です"); の意味は何か説明しよう。
  4. タブ \t を使い、 A, B, C を横並びに出力するプログラムを作れ。
    • 例: A B C(タブで区切る)
  5. String の長さを調べるには s.length() を使う。文字列 "abc" に対して length() の値はいくつ?

解答(短縮)

  1. System.out.println("Hello" + "" + "World"); → HelloWorld
  2. 出力:She said, "Hi!"
  3. s が空文字なら「空です」と表示する(equals は中身比較)
  4. System.out.println("A\tB\tC");
  5. "abc".length()3

8. もう少し発展:よく使う String メソッド(覚えておくと便利)

  • s.length() — 文字数を取得
  • s.equals(t) — 中身が等しいか比較(== は参照比較なので注意)
  • s.substring(i, j) — 部分文字列を取り出す
  • s.indexOf("a") — 指定した文字や文字列の開始位置(-1 は見つからない)
  • s.toUpperCase() / s.toLowerCase() — 大文字・小文字変換

まとめ(パッと見で覚えてほしいこと)

  • 文字列は " で囲む。' は char(1文字)用。
  • + で連結できるが評価の順序に注意。
  • \n, \", \\ などの エスケープ を使えば特殊文字を表現できる。
  • 変数に入れて扱うと便利(String 型)。

タイトルとURLをコピーしました