MENU

【Java】レッスン1-04:文字列操作の基本|length・substringを使いこなそう

tggaa478@yahoo.co.jp

一つ前のページでは算術演算子について学習しました。

今回は 文字列操作 について見ていきましょう。

Lesson1:基礎文法編
 ・Lesson1-1:JAVAの入り口|初めてコードを書いてみよう
 ・Lesson1-2:変数と定数を理解しよう
 ・Lesson1-3:四則演算をしよう
 ・Lesson1-4:文字列を操作しよう ◁今回はココ
 ・Lesson1-5:乱数を生成しよう
 ・確認問題1-☆1:ランダムパスワードを生成しよう
Lesson2:制御構造編
Lesson3:メソッド編
Lesson4:コレクション編
Lesson5:クラス

<<前のページ

学習記事一覧

次のページ>>

Javaにおける文字列の操作とは|基本概念と使用例を解説

プログラミングにおいて文字列は、文章やメッセージの操作に重要な役割を果たします。

JAVAではString型を用いて文字列を扱い、さまざまなメソッドを活用して文字列を操作することができます。

この節では文字列の基本操作や、よく使用されるメソッドについて学びましょう。

文字列の作成と連結方法を理解しよう

文字列を扱うにはString型を使います。まずは文字列の宣言方法と基本的な操作である連結について見ていきましょう。

// 文字列の宣言
String greeting = "こんにちは";
String name = "世界";

// 文字列の連結
String message = greeting + ", " + name + "!";
System.out.println(message); // 出力結果: こんにちは, 世界!

このように、String型の変数同士を+でつなげることで、複数の文字列を一つに結合することが可能です。

Javaのメソッド入門|lengthなどの基本的な使い方

プログラムで何か特定の操作を行いたい場合、JAVAでは「メソッド」というものを使います。

メソッドは、特定の処理を行う「機能」や「道具」と考えるとわかりやすいでしょう。たとえば、文字列の長さを知りたいときに使うメソッドがlength()です。

メソッドを使うときは、次のように「使いたい変数の後ろにドット(.)をつけてメソッド名を記述」するだけです。以下はlength()メソッドの例です。

String text = "Hello";
System.out.println(text.length()); // 出力結果: 5

ここではtextという文字列に対して「長さを取得する」length()メソッドを使っています。このように、ドット(.)でつないで呼び出すのがメソッドの基本的な使い方です。

メソッドの詳細な仕組みや種類については第3章で詳しく学びますが、今は「文字列の便利な機能」としてメソッドを使いこなせるようになりましょう。

あわせて読みたい
Java入門:メソッドの使い方を基礎から理解しよう(レッスン3)
Java入門:メソッドの使い方を基礎から理解しよう(レッスン3)

よく使うJavaの文字列メソッド一覧とその使用例

JAVAには文字列の操作に便利なメソッドが豊富に用意されています。

ここではよく使用される基本的なメソッドをいくつか紹介します。

length():文字列の長さを取得する

String text = "Hello";
System.out.println(text.length()); // 出力結果: 5

length()メソッドは文字列の文字数を返します。

charAt(int index):指定した位置の文字を取得する

String text = "Hello";
System.out.println(text.charAt(1)); // 出力結果: e

charAt()は文字列の中から指定された位置(0から始まる)にある文字を取得します。

substring(int beginIndex, int endIndex):部分文字列を取得する

String text = "Hello, World!";
System.out.println(text.substring(0, 5)); // 出力結果: Hello

substring()は文字列の一部を切り出して新しい文字列を返します。

Javaで文字列操作を実践|プログラム例で理解を深めよう

それでは上記のメソッドを組み合わせて文字列操作のサンプルプログラムを見てみましょう。

public class Main {
    public static void main(String[] args) {
        String original = "Java Programming";
        
        // 文字列の長さを取得
        System.out.println("文字列の長さ: " + original.length());
        
        // 指定した位置の文字を取得
        System.out.println("3番目の文字: " + original.charAt(2));
        
        // 部分文字列を取得
        System.out.println("部分文字列: " + original.substring(5, 16));
        
        // 文字列の連結
        String newString = original + " is fun!";
        System.out.println("新しい文字列: " + newString);
    }
}

このコードを実行すると以下のように出力されます。

文字列の長さ: 16
3番目の文字: v
部分文字列: Programming
新しい文字列: Java Programming is fun!

この例ではlength()charAt()substring()の各メソッドを使い、文字列の基本的な操作方法を確認できます。

今回のポイントまとめ|Javaの文字列処理をマスターしよう

この節ではJAVAにおける文字列の操作方法について学びました。

文字列はString型として宣言し、length()charAt()substring()といったメソッドを活用することで簡単に操作できます。

これらのメソッドを理解し、実際に手を動かしてみることで、文字列操作に慣れていきましょう。

練習問題|入力された文字列から情報を抽出・加工するJavaプログラムを作ろう

Javaの基本的な文字列操作を学ぶためのプログラムを作成しましょう。

このプログラムはユーザーから文字列を入力してもらい、入力された文字列の長さや一部を表示したり、指定の文字列を結合したりします。

文字列操作の基礎を理解することが目標です。

この問題の要件

以下の要件に従ってコードを完成させてください。

  • Scannerクラスを使用して、ユーザーから文字列の入力を受け取ること。
  • 入力された文字列の長さを取得し、画面に表示すること。
  • 入力された文字列の最初の文字を取得し、画面に表示すること。
  • 入力された文字列の最初の3文字を取得し、画面に表示すること。
    ※入力された文字列が3文字以上の場合のみ取得・表示すること。
  • 入力された文字列に「 – JAVA学習中」を結合した新しい文字列を作成し、画面に表示すること。

ただし、以下のような実行結果となること。

文字列を入力してください:
プログラミング
文字列の長さ: 6
最初の文字: プ
最初の3文字: プロ
結合された文字列: プログラミング - JAVA学習中

この問題を解くヒント

1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。

Q
ヒント1【コードの構成を見る】

正解のコードは上から順に以下のような構成となっています。
(※下記の□はコード内のインデントを表しています)

1:Scannerクラスをインポート
2:クラスStringManipulationExampleの定義
  □ mainメソッドの開始
  □ □ Scannerオブジェクトを作成し、変数scannerに代入
  □ □ 「文字列を入力してください:」と出力
  □ □ ユーザーの入力を受け取り、変数inputに代入
  □ □ 文字列の長さを取得し、「文字列の長さ:」と表示
  □ □ 文字列の最初の文字を取得し、「最初の文字:」と表示
  □ □ 文字列の最初の3文字を取得し、「最初の3文字:」と表示
  □ □ 文字列を結合し、新しい文字列を変数messageに代入
  □ □ 「結合された文字列:」とmessageの内容を出力
  □ mainメソッドの終了

Q
ヒント2【穴埋め問題にする】

以下のコードをコピーし、コメントに従ってコードを完成させて下さい。

// このプログラムは、入力された文字列を操作して様々な情報を表示します。
import java.util.Scanner; // 入力機能のためのインポート

public class StringManipulationExample {
    public static void main(String[] args) {
        // 入力を受け取るためのScannerオブジェクトを作成
        Scanner scanner = new Scanner(System.in);

        // ユーザーに文字列の入力を促す
        System.out.println("文字列を入力してください:");
        String input = scanner.nextLine(); // ユーザーからの入力を受け取る

        // 文字列の長さを表示
        /*【穴埋め問題1】
        ここで文字列の長さを取得し、「文字列の長さ:」とともに表示するコードを書いてください。
        */

        // 最初の文字を取得して表示(空文字の可能性については今回考慮しない)
        /*【穴埋め問題2】
        ここで文字列の最初の文字を取得し、「最初の文字:」とともに表示するコードを書いてください。
        */

        // 文字列の一部(最初の3文字)を表示(3文字以上の場合のみ想定)
        /*【穴埋め問題3】
        ここで文字列の最初の3文字を取得し、「最初の3文字:」とともに表示するコードを書いてください。
        */

        // 文字列の結合例
        /*【穴埋め問題4】
        ここでinputと文字列「 - JAVA学習中」を結合し、変数messageに格納し、「結合された文字列:」とともに表示するコードを書いてください。
        */
    }
}

このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。

練習問題の解答と解説

この問題の正解コードとその解説は以下の通りです。

クリックして開いて確認してください。

Q
正解コード
// このプログラムは、入力された文字列を操作して様々な情報を表示します。
import java.util.Scanner; // 入力機能のためのインポート

public class StringManipulationExample {
    public static void main(String[] args) {
        // 入力を受け取るためのScannerオブジェクトを作成
        Scanner scanner = new Scanner(System.in);

        // ユーザーに文字列の入力を促す
        System.out.println("文字列を入力してください:");
        String input = scanner.nextLine(); // ユーザーからの入力を受け取る

        // 文字列の長さを表示
        System.out.println("文字列の長さ: " + input.length());

        // 最初の文字を取得して表示(空文字の可能性については今回考慮しない)
        System.out.println("最初の文字: " + input.charAt(0));

        // 文字列の一部(最初の3文字)を表示(3文字以上の場合のみ想定)
        System.out.println("最初の3文字: " + input.substring(0, 3));

        // 文字列の結合例
        String message = input + " - JAVA学習中";
        System.out.println("結合された文字列: " + message);
    }
}
Q
正解コードの解説

コードをブロックごとに分割して解説します。

インポート文

import java.util.Scanner;

この行ではScannerクラスをインポートしています。

Scannerはユーザーからの入力を読み取るために使われるクラスで、java.utilパッケージに含まれています。

インポートすることでプログラム内でScannerクラスを使えるようになります。

クラスの定義

public class StringManipulationExample {
    // ...
}

Javaプログラムの基本構成として、classを使ってクラスを定義しています。

このクラスStringManipulationExampleの中で、文字列の操作を行うためのメインメソッドが定義されています。

メインメソッド

public static void main(String[] args) {
    // ...
}

mainメソッドはJavaプログラムのエントリーポイント(実行開始地点)です。このプログラムはここから処理が始まります。

mainメソッドの中でユーザーからの入力を受け取り、文字列操作を行います。

Scannerオブジェクトの作成

Scanner scanner = new Scanner(System.in);

ここでScannerオブジェクトを作成し、標準入力(コンソール)からの入力を読み取れるようにしています。

このオブジェクトを通して、ユーザーからの文字列入力を取得します。

ユーザーからの文字列入力を取得

System.out.println("文字列を入力してください:");
String input = scanner.nextLine();

System.out.printlnでユーザーにメッセージを表示し、続いてscanner.nextLine()で入力された文字列を取得し、inputという変数に格納しています。

文字列の長さを表示

System.out.println("文字列の長さ: " + input.length());

ここでは文字列の長さを取得するlength()メソッドを使っています。

System.out.printlnで「文字列の長さ:」とともに表示されます。

文字列の最初の文字を取得して表示

System.out.println("最初の文字: " + input.charAt(0));

この部分では文字列の最初の文字を取得するcharAt(0)メソッドを使用しています。

charAtメソッドは指定した位置の文字を返すもので、ここでは0番目(最初の位置)の文字を取得しています。

文字列の一部(最初の3文字)を取得して表示

System.out.println("最初の3文字: " + input.substring(0, 3));

ここではsubstring(0, 3)メソッドを使って、文字列の一部を取得しています。

substringメソッドは、指定した範囲内の文字を取り出すメソッドで、ここでは0から3までの範囲の文字を取得します。

このプログラムでは入力文字が3文字以上であることを前提にしています。

文字列の結合例

String message = input + " - JAVA学習中";
System.out.println("結合された文字列: " + message);

ここでは文字列の結合を行っています。

+演算子を使って、inputに格納された文字列に「 – JAVA学習中」を追加し、新しい文字列messageとして保存しています。

その後messageを「結合された文字列:」とともに表示します。

まとめ

このプログラムを通して文字列の操作における基本的なメソッドであるlength()charAt()substring()、および文字列の結合方法を学ぶことができました。

これらのメソッドはJavaでの文字列操作の基礎であり、今後のプログラミングにも役立つものです。ぜひ、実際に手を動かしながら理解を深めてください。

Javaでの文字列操作に慣れることで、さらに複雑な文字列処理にも対応できるようになります。

もっと分かりやすい学習サイトにするために

この記事を読んで「ここが分かりにくかった」「ここが難しかった」等の意見を募集しています。

世界一わかりやすいJava学習サイトにするため、ぜひ 問い合わせフォーム からご意見下さい。

<<前のページ

学習記事一覧

次のページ>>

記事URLをコピーしました