Java Stringの使い方

この記事のポイント

  • JavaにおけるStringクラスの基本概念と特徴
  • 文字列操作の基本構文と多様なメソッド
  • 実際の開発で使える豊富なコード例とテクニック

目次

JavaにおけるStringとは?

JavaのStringは、Javaプログラミングで文字列を扱うためのクラスです。

文字列とは、「ネコ」「イヌが走る」のような文字の集まりのことになります。JavaでこのStringクラスを使うと、文字列の作成、編集、検索、比較といったさまざまな操作を実行することが可能です。

Stringは参照型のデータ型であるため、一度作成された文字列オブジェクトは変更できない不変(immutable)の特徴があります。このポイントは、プログラムにメモリ効率の高さや、マルチスレッド環境でも安全に使用できるといったメリットをもたらすでしょう。

String は、Javaプログラミングにおいて最も頻繁に使用されるクラスの一つであり、ユーザーインターフェースでの表示やファイル操作、データベースとの連携といったあらゆる場面で活用されています。

【関連】
Javaをもっと詳しく学ぶならpaizaラーニング

基本構文

Java Stringの基本的な使い方として、文字列の作成と基本的な操作方法について説明しましょう。

文字列は、2つの方法で作成できます。まず1つ目は、文字列リテラルを使用する方法です。ダブルクォートで囲んだ文字列を直接変数に代入するものになります。もう1つはnewキーワードを使ってStringオブジェクトを明示的に作成する方法です。

またJava Stringクラスでは、文字列の長さを取得するlengthメソッドや、文字列を結合するconcatメソッドといった基本的なメソッドも豊富に用意しています。

public class Main { public static void main (String[] args) { // 文字列リテラルでの作成 String animal1 = "ネコ"; String animal2 = "イヌ"; // 出力 System.out.println(animal1); System.out.println(animal2); } }

出力結果:

ネコ
イヌ
public class Main { public static void main (String[] args) { // newキーワードでの作成と基本操作 String pet = new String("ハムスター"); int length = pet.length(); String combined = pet.concat("が走る"); System.out.println("文字列: " + pet); System.out.println("文字数: " + length); System.out.println("結合結果: " + combined); } }

出力結果:

文字列: ハムスター
文字数: 5
結合結果: ハムスターが走る

実用例

JavaのStringクラスには、文字列操作を効率的に行うためのメソッドがたくさん用意されています。このセクションでは、実際の開発現場でよく使われる文字列操作について、動物をテーマにしたコード例を見ながら紹介しましょう。

このセクションの内容を最後まで読むと、文字列の検索、置換、分割、大文字小文字の変換、空白の除去といった日常的なプログラミング作業でよく使う操作を具体的なコード例とともに学習できます。各例では、コードの動作を理解しやすくするために、実行結果も併せて示しています。

JavaのStringクラスを早く身につけたい方は、ここで紹介するコード例を参照しながら、ぜひとも自分の開発環境で実際にプログラムを書いてみてください。

文字列の検索と判定

以下のコード例では、文字列に特定の文字や文字列が含まれているかどうかを調べる基本的な方法を示しています。具体的には、containsメソッドで部分文字列の存在確認し、startsWithとendsWithメソッドで文字列の開始と終了の判定を行っている形です。

public class Main { public static void main (String[] args) { String message = "ウサギが庭で遊んでいる"; boolean contains = message.contains("ウサギ"); boolean starts = message.startsWith("ウサギ"); boolean ends = message.endsWith("いる"); System.out.println("ウサギを含む: " + contains); System.out.println("ウサギで始まる: " + starts); System.out.println("いるで終わる: " + ends); } }

出力結果:

ウサギを含む: true
ウサギで始まる: true
いるで終わる: true

文字列の置換

以下のコード例で示しているのは、replaceメソッドを使い、文字列内の特定の文字や文字列を別の文字列に置き換える操作です。動物の名前を変更する例となっており、文字列置換の基本的な使い方を示しています。

public class Main { public static void main (String[] args) { String original = "リスが木の上にいる"; String replaced = original.replace("リス", "サル"); String multiReplace = "ネコ、イヌ、ネコ".replace("ネコ", "トラ"); System.out.println("元の文字列: " + original); System.out.println("置換後: " + replaced); System.out.println("複数置換: " + multiReplace); } }

出力結果:

元の文字列: リスが木の上にいる
置換後: サルが木の上にいる
複数置換: トラ、イヌ、トラ

文字列の分割

以下のコード例で示しているのは、splitメソッドを使い、区切り文字を基準に文字列を配列に分割する操作です。具体的には、カンマやスペースで区切られた動物のリストを個別の要素に分ける実用例を紹介しています。

public class Main { public static void main (String[] args) { String animalList = "パンダ,コアラ,カンガルー"; String[] animals = animalList.split(","); System.out.println("動物の数: " + animals.length); for (int i = 0; i < animals.length; i++) { System.out.println((i + 1) + "番目: " + animals[i]); } } }

出力結果:

動物の数: 3
1番目: パンダ
2番目: コアラ
3番目: カンガルー

大文字小文字の変換

以下で示しているのは、toUpperCaseとtoLowerCaseメソッドを使い、アルファベットの大文字小文字を変換する操作です。英語の動物名を使い、文字列の大文字小文字変換の基本的な使い方を説明しています。

public class Main { public static void main (String[] args) { String animal = "Tiger"; String upper = animal.toUpperCase(); String lower = animal.toLowerCase(); System.out.println("元の文字列: " + animal); System.out.println("大文字変換: " + upper); System.out.println("小文字変換: " + lower); } }

出力結果:

元の文字列: Tiger
大文字変換: TIGER
小文字変換: tiger

文字列の前後空白除去

以下で示しているのは、trimメソッドを使い、文字列の前後にある不要な空白文字を除去する操作です。具体的には、ユーザー入力やファイル読み込み時によく発生する空白の処理方法について、動物名の例で示しています。

public class Main { public static void main (String[] args) { String spacedAnimal = " ゾウ "; String trimmed = spacedAnimal.trim(); int originalLength = spacedAnimal.length(); int trimmedLength = trimmed.length(); System.out.println("元の長さ: " + originalLength); System.out.println("除去後の長さ: " + trimmedLength); System.out.println("除去後の文字列: [" + trimmed + "]"); } }

出力結果:

元の長さ: 8
除去後の長さ: 2
除去後の文字列: [ゾウ]

文字列の部分取得

以下で示しているのは、substringメソッドを使い、文字列の一部分を抜き出す操作です。具体的には、指定位置から文字列を切り出す方法と、開始位置と終了位置を指定して部分文字列を取得する方法を紹介しています。

public class Main { public static void main (String[] args) { String longText = "キリンの首は長い"; String part1 = longText.substring(0, 4); String part2 = longText.substring(4); System.out.println("元の文字列: " + longText); System.out.println("前半部分: " + part1); System.out.println("後半部分: " + part2); } }

出力結果:

元の文字列: キリンの首は長い
前半部分: キリンの
後半部分: 首は長い

文字列の比較

以下で示しているのは、equalsメソッドとequalsIgnoreCaseメソッドを使い、文字列の内容を比較する操作です。「大文字小文字を区別する比較」と「区別しない比較」の違いを動物名で説明しています。

public class Main { public static void main (String[] args) { String animal1 = "Lion"; String animal2 = "lion"; String animal3 = "Lion"; boolean exact = animal1.equals(animal3); boolean ignoreCase = animal1.equalsIgnoreCase(animal2); System.out.println("完全一致: " + exact); System.out.println("大小文字無視: " + ignoreCase); System.out.println("厳密比較: " + animal1.equals(animal2)); } }

出力結果:

完全一致: true
大小文字無視: true
厳密比較: false

文字列の書式設定

以下で示しているのは、String.formatメソッドを使い、テンプレートに値を埋め込んで整形された文字列を作成する操作です。動物の情報を整理して表示する実用例となります。

public class Main { public static void main (String[] args) { String name = "ペンギン"; int count = 12; double weight = 25.5; String formatted = String.format("%sが%d匹います。平均体重は%.1fkgです。", name, count, weight); System.out.println(formatted); } }

出力結果:

ペンギンが12匹います。平均体重は25.5kgです。

まとめ

JavaのStringは、Javaプログラミングの文字列操作に欠かせないクラスです。また文字列操作は、プログラミングの基礎となる重要要素となります。

JavaのStringクラスでは、文字列の作成から検索、置換、分割、変換まで豊富なメソッドを提供しており、これらはさまざまな場面で活用できます。

初心者の皆さんは、Stringクラスの特性(不変オブジェクト)を理解したうえで、各メソッドを適切に使い分けてみてください。そうすると、効率的で読みやすいコードが書けるようになるでしょう。

レベルを更に上げたい方はpaizaプログラミングスキルチェック

  1. paizaラーニングトップ
  2. リファレンス
  3. Javaのリファレンス記事一覧
  4. Java Stringの使い方