JavaでString型とchar型を変換する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaでString型とchar型を変換する方法について解説しています。まず最初に、String型とchar型の特徴と違いについて説明します。次にString型からchar型への変換、char型からString型への変換それぞれの方法について学びましょう。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

JavaでString型とchar型を変換する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読んでみましょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

String型とchar型を変換する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

String型とは

String型は、複数の文字列で表すことのできるクラスです。

intやbyte、char型などの変数とは少し性質の異なり、「クラス型変数」と呼ばれます。

これに対して、intやchar型などの変数は、「基本データ型変数」と呼ばれるものです。

String型変数を定義するには、ダブルクォーテーションを使って、

String 変数名 = “文字列”

と記述します。

 

char型とは

char型は1文字を格納するためのクラスです。

実際に格納しているデータは「あ」「い」「う」「え」「お」のような文字そのものではなく、コンピュータで扱いやすいような文字コードです。それぞれの文字に割り当てられた数字をデータとして保持しています。

Javaの文字コードはUnicodeであるため、一つ一つの文字を0~65535の番号に割り当てています。

char型は2の16乗個のデータを扱うために、16ビット(2バイト)の符号なし整数を保持しています。

char型を定義するには、シングルクォーテーションで、

char 変数名 = ‘1文字’

のように記述します。

 

[PR] Javaで挫折しない学習方法を動画で公開中

String型とchar型の定義

それぞれの変数は次のように定義します。

String型

String str  = "こんにちは"

char型

char ch = 'あ'

Javaでもともと用意されている変数は「基本データ型変数」、基本データ型変数を使って定義した扱いやすい変数が「クラス型変数」です。

 

これをString型とchar型で考えてみましょう。

「あ」「い」「う」「え」「お」などの1文字1文字を格納するための基本変数は、char型の「基本データ型変数」です。

対して、文字を組み合わせてできる「あお」や「いえ」などの単語などを扱いやすくしてくれる変数がString型の「クラス型変数」だといえます。

基本的には、char型の集まりがString型だと考えられます。

char型の配列もString型と同じようにchar型の集まりと考えられるため、単語や文章などを扱うことが可能です。

しかし、String型には「メソッド」があるのでString型の方が扱いやすいといえるでしょう。

 

String型からchar型に変換する方法

String型→char型に変換をする方法は、JavaのStringクラスのメソッドであるtoCharArray()メソッドを使うことで可能となります。

(メソッドはデータの処理方法をまとめたものです)

String型は複数の文字の集合体であるため、char型でデータを受け取るには配列を用いる必要があります。

そのため、実際に使う場合には、

String str = "文字列"

char[] c = str.toCharArray();

のように記述しましょう。

 

char型からString型に変換する方法

ここでは、逆にchar型→String型の変換を行う方法を紹介します。

今回使うメソッドはValueOf()メソッドです。

ValueOf()メソッドは次のように記述しましょう。

char c = '1文字'

String str = String.valueOf(c)

また、char型の配列をString型に変換したい場合には、

c = new char[] { '1文字', '1文字', '1文字' };
s = new String(c);

のように記述してください。

 

実際に書いてみよう

まずは、String型→char型の変換を行います。

public class Test{
        public static void main(String[] args){
                String str = "あいうえお";
                char[] c = b1.toCharArray();
                 System.out.println(str);
        }
}

次、char型→String型の変換です。

public class Test{
        public static void main(String[] args){

                //1文字の場合

                char c1 = 'あ';
                String str1 = String.valueOf(c1);

                System.out.println(str1);

                 //配列の場合

                 char[] c2= { 'A', 'B', 'C' };
                 String str2 = new String(c2);
                 System.out.println(str2);
        }
}

以上で変換が完了しました。

 

まとめると、

  • char型は「基本データ型変数」で、その集まりがString型という「クラス型変数」
  • String型→char型の変換には、toCharArray()メソッドを使う
  • char型→String型の変換には、1文字の変換ならvalueOf()メソッドを、配列からの変換ならString()を使う

となります。

String型とchar型の変換方法について、しっかりと理解しておくことはJavaプログラマにとって重要であるため、覚えておきましょう。

 

執筆してくれたメンター

小倉翔悟 (おぐらしょうご)

AIプログラミングを使って開発を行う大学3年生。

プログラミング歴は約3年。

Pythonは割と好きな方。JavaもAndroid開発で触れていたりする。

大学では物理学を勉強中。

好きな物理理論は一般相対性理論らしい。

意外と動物が好きだったり、、、。

 

大石ゆかり

JavaでString型とchar型を変換する方法がよくわかりました!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。