【初心者向け】Stringクラスによる文字列の処理の方法

stringオブジェクト
  • このエントリーをはてなブックマークに追加
  • Pocket

Javaで文字列を処理するには、Stringクラスを使う。

このページではStringクラスを使って文字処理をするための方法を初心者の方向けに解説した。

Javaの基本として理解しておこう。

文字列処理のためのStringオブジェクトへの代入

Stringクラスの基本

複数の文字からなる文字列を表す型はStringクラスだ。

参照型であるStringクラスのオブジェクトへの値の代入は以下のように記述する。

String 変数名 = “あいうえお”;

サンプルコード

Stringクラスのオブジェクトを生成し、値を代入するサンプルコードを見てみよう。

実行結果

サンプルコードの説明

とても簡単に見えるが、これまでのモノとは少し違う。

100%理解しなくて構わないので、なんとなく把握しておこう。とりあえず、文字列はこうすると扱える認識でも初心者の方は構わないので、ここから下の説明は飛ばしてしまってもいいくらいだ。

(少し難しい)Stringクラスオブジェクト

実は、Stringはここまでで理解しているような整数型や文字型などの基本型とは違う。一見同じように見えるが、Stringは基本型ではなくて、参照型のオブジェクトだ。

詳しくは下記でお伝えしている。

Stringクラスは内部でオブジェクトを生成する仕組みを持っているため、ほかの基本型のように直接代入するように見える記述方法でオブジェクトが生成され値が代入される。

Stringクラスでは、一度文字列を代入するとその文字列を変更することはできない。

  • [1] String型の変数strを宣言し、初期化。→オブジェクトを生成し値を代入。生成されたオブジェクトのアドレスを変数に代入
  • [2] 変数strの値を出力。
  • [3] 変数str へ値を代入→新しいオブジェクトを生成し値を代入。生成された新しいオブジェクトのアドレスを変数に代入。
  • [4] 変数strの値を出力。

文字列「こんにちは」が「こんばんは」へ書き換わるのではなく、変数strに代入される値が「こんにちは」の参照値から「こんばんは」の参照値に変わる。

ここは少し違和感があるかもしれないが、理解していただきたい部分だ。サンプルコードを図で表現すると以下のようになる。

参照型

文字列の連結

Java言語での文字列の連結には以下の方法がある。

文字列 + 文字列

String.concat()

実際には他にも種類があるが、徐々に知っていけばいい。まずはこの2つだけ知っておこう。

文字列の連結のサンプルコード

サンプルコードを見てみる。

実行結果

サンプルコードの説明

  • [1] String型の変数str1の宣言と初期化。
  • [2] String型の変数str2の宣言と初期化。
  • [3] String型の変数str3の宣言と初期化。
  • [4] String型の変数messageの宣言。
  • [5] 変数messageに変数str1とstr2を連結した文字列を代入
  • [6] 変数messageの値を出力
  • [7] 変数messageの値にconcate()メソッドを利用して変数str3の文字列を連結
  • [8] 変数messageの値を出力

細かいところもお伝えしておくと、Stringクラスで表される文字列は変更できない。文字列の変更のためにStringBufferクラスが用意されている。

「+」演算子での文字列の連結は、内部的にはStringBufferクラスのappendメソッドを使用して文字列の連結を行っている。

例えばfor文などのループ処理の中で+演算子を使用した文字列の連結を行ってしまうと、そのたびにStringBufferオブジェクトを新しく生成してappendメソッドで連結を行うので、無駄なオブジェクトを生成することになり、処理の遅延の原因になったりするので注意が必要だ。

StringBufferクラスについては下記ページで詳しく解説している。

まとめ

このページでは文字処理のためのStringクラスについてお伝えしてきた。

基本データ型ではないが、同じように使える。よくわからなければ、参照型などの細かいところは後々理解していけばいい。まずはStringの使い方をざっくり理解しておこう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*