【初心者向け】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

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

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する