この記事で学べる知識:文字列の操作
この記事の練習問題で使用する知識:
丸暗記構文、入力と出力の基本、コメントの書き方、変数と定数、算術演算子、文字列の操作、import文
<<前の問題 | 問題集Top |
次の問題>> |
JAVAの「文字列操作」とは
この章ではJAVAにおける「文字列操作」の意味や使い方を学習します。必要ない方はここをクリックして練習問題へ飛びましょう。
プログラミングにおいて文字列は、文章やメッセージの操作に重要な役割を果たします。
JAVAではString
型を用いて文字列を扱い、さまざまなメソッドを活用して文字列を操作することができます。
この節では文字列の基本操作や、よく使用されるメソッドについて学びましょう。
文字列の宣言と基本操作
文字列を扱うにはString
型を使います。まずは文字列の宣言方法と基本的な操作である連結について見ていきましょう。
// 文字列の宣言 String greeting = "こんにちは"; String name = "世界"; // 文字列の連結 String message = greeting + ", " + name + "!"; System.out.println(message); // 出力結果: こんにちは, 世界!
このように、String
型の変数同士を+
でつなげることで、複数の文字列を一つに結合することが可能です。
メソッドとは? 〜簡単な使い方〜
プログラムで何か特定の操作を行いたい場合、JAVAでは「メソッド」というものを使います。
メソッドは、特定の処理を行う「機能」や「道具」と考えるとわかりやすいでしょう。たとえば、文字列の長さを知りたいときに使うメソッドがlength()
です。
メソッドを使うときは、次のように「使いたい変数の後ろにドット(.
)をつけてメソッド名を記述」するだけです。以下はlength()
メソッドの例です。
String text = "Hello"; System.out.println(text.length()); // 出力結果: 5
ここではtext
という文字列に対して「長さを取得する」length()
メソッドを使っています。このように、ドット(.
)でつないで呼び出すのがメソッドの基本的な使い方です。
メソッドの詳細な仕組みや種類については第3章で詳しく学びますが、今は「文字列の便利な機能」としてメソッドを使いこなせるようになりましょう。
文字列のメソッドの紹介
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()
は文字列の一部を切り出して新しい文字列を返します。
文字列操作の使用例
それでは上記のメソッドを組み合わせて文字列操作のサンプルプログラムを見てみましょう。
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における文字列の操作方法について学びました。
文字列はString
型として宣言し、length()
やcharAt()
、substring()
といったメソッドを活用することで簡単に操作できます。
これらのメソッドを理解し、実際に手を動かしてみることで、文字列操作に慣れていきましょう。
練習問題1-4:入力された文字列を活用して情報を取得・加工するプログラムを作ろう
Javaの基本的な文字列操作を学ぶためのプログラムを作成しましょう。
このプログラムはユーザーから文字列を入力してもらい、入力された文字列の長さや一部を表示したり、指定の文字列を結合したりします。
文字列操作の基礎を理解することが目標です。
この問題の要件
以下の要件に従ってコードを完成させてください。
Scanner
クラスを使用して、ユーザーから文字列の入力を受け取ること。- 入力された文字列の長さを取得し、画面に表示すること。
- 入力された文字列の最初の文字を取得し、画面に表示すること。
- 入力された文字列の最初の3文字を取得し、画面に表示すること。
※入力された文字列が3文字以上の場合のみ取得・表示すること。
- 入力された文字列に「 – JAVA学習中」を結合した新しい文字列を作成し、画面に表示すること。
ただし、以下のような実行結果となるコードを書くこと。
*****↓↓正解コードの実行結果の例↓↓*****
文字列を入力してください: プログラミング 文字列の長さ: 6 最初の文字: プ 最初の3文字: プロ 結合された文字列: プログラミング - JAVA学習中
この問題を解くヒント
1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。
正解のコードは上から順に以下のような構成となっています。
(※下記の□はコード内のインデントを表しています)
1:Scannerクラスをインポート
2:クラスStringManipulationExampleの定義
□ mainメソッドの開始
□ □ Scannerオブジェクトを作成し、変数scannerに代入
□ □ 「文字列を入力してください:」と出力
□ □ ユーザーの入力を受け取り、変数inputに代入
□ □ 文字列の長さを取得し、「文字列の長さ:」と表示
□ □ 文字列の最初の文字を取得し、「最初の文字:」と表示
□ □ 文字列の最初の3文字を取得し、「最初の3文字:」と表示
□ □ 文字列を結合し、新しい文字列を変数messageに代入
□ □ 「結合された文字列:」とmessageの内容を出力
□ mainメソッドの終了
以下のコードをコピーし、コメントに従ってコードを完成させて下さい。
// このプログラムは、入力された文字列を操作して様々な情報を表示します。 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に格納し、「結合された文字列:」とともに表示するコードを書いてください。 */ } }
以上がこの問題の穴埋めコードです。
このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。
解答例と解説
この問題の一つの正解例とそのコードの解説を以下に示します。
正解コードの例
例えば以下のようなプログラムが考えられます。
// このプログラムは、入力された文字列を操作して様々な情報を表示します。 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); } }
正解コードの解説
このプログラムではユーザーから入力された文字列を操作して、様々な情報を表示します。
以下、コードをブロックごとに分けて解説していきます。
インポート文
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での文字列操作に慣れることで、さらに複雑な文字列処理にも対応できるようになります。
<<前の問題 |
問題集Top |
次の問題>> |
この記事への質問・コメント
この記事を作成するにあたりAIを活用しています。
問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。