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

初心者向けにJavaでchar型とint型を変換する方法について解説しています。文字を扱う変数型であるchar型と整数を扱うint型それぞれの特徴、相互の変換方法と手順をサンプルコードで見ていきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Javaでchar型とint型を変換する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。char型とint型についても説明するので、変数型についてよくわからないという方も理解できると思います。

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

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

大石ゆかり

お願いします!

 

char型とは

まずは、char型について説明しましょう。char型というのは、「文字を」格納するための変数型です。

「文字」というのは、英語、日本語、記号などの様々な値で、char型はこうした文字を1文字だけ格納することができます。ただし、文字といっても、格納されているのは文字に対応した整数値であることに注意してください。

char型を使うには、

char 変数名 = '1文字';

のようにして、変数名の前にcharを記述し、好きな1文字をシングルクォーテーション(‘)で囲って宣言します。

char型は1文字しか格納できないので少々使い勝手が悪いのですが、配列にして複数文字をまとめて扱うこともできるし、String型というデータ型を使うことで、文字列として扱うこともできます。

char型とString型の変換方法については下の記事を参考にしてください。

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

 

int型とは

続いて、int型について説明します。先程のchar型が1文字を格納するのに対して、int型は整数値を格納します。int型を使う場合には、char型と同じような形で、

int 変数名 = 変数の値;

のようにして、変数の前にintを記述してから宣言します。int型に格納することのできる整数は

-2147483648~2147483647

の範囲にあるものです、

この範囲以外の大きさの整数を扱いたい場合には、long型という変数型もあります。逆に、もっと小さくていい場合には、short型という変数型もあるので、頭の片隅においておくと良いでしょう。

関連記事:Javaにおけるint型とInteger型の違いを現役エンジニアが解説【初心者向け】

 

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

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

char型とint型について説明したので、変換の方法について解説していきます。char型は整数値をデータとして保持しているので、char型→int型の変換については、保持できる値の範囲が大きいint型にchar型をそのまま代入すればOKです。

char char型変数名= int型変数;

char型に数字が文字として入っている場合に、その値を数値とCharacterクラスに実装されているgetNumericValue()メソッドを使う方法がオススメです。

このメソッドは、

int int型の変数名 = Character.getNumericValue(char型の変数);

のようにして使います。char型の変数の部分がint型の変数に変更できる数字であることには注意しておいてください。

 

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

int型→char型に変換する場合は、char型→int型の変換よりもシンプルで、

char char型の変数名 = (char)int型の変数;

として、int型の変数の前にカッコ()でくくった(char)をつければ大丈夫です。この処理は「キャスト」という処理で、変数の型を変換するときによく使う方法なので覚えておくと良いでしょう。

 

実際に書いてみよう

それでは、実際にchar型↔int型の変換を行なってみたいと思います。以下が全体のコードです。

class Sample{
        public static void main(String args[]){
                 char ch1, ch2;
                 int num; 
 
                 ch1 = 'c';        //char型の文字'c'
                 num = ch1;        //char型をint型にそのまま代入
                 System.out.println("int型の変数numの値 = " + num);
 
                 ch2 = (char)num;        //int型からchar型に変換
                 System.out.println("char型の変数ch2の値 = " + ch2);
         }
}

char型変数であるch1をint型変数であるnumに変換して、numを逆にchar型に変換し直してそれぞれを表示して確認します。

このプログラムを実行すると、

int型の変数numの値 99
char型の変数ch2の値 c

と表示されるので、int型とchar型を相互に変換できることを確認できました。

 

まとめ

char型とint型の変換のポイントは、

  • char型は「文字」に対応する整数を格納している
  • char型からint型に変換するには、そのまま代入する
    int int型変数名 = char型変数;
  • int型からchar型に変換するには、キャストする
    char char型変数名 = (char)int型変数

です。

 

以上、char型とint型の変換を解説しました。細かい部分もあると思いますが、覚えておくとプログラムの理解に役に立つと思います。

 

監修してくれたメンター

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

AIプログラミングを使って開発を行う大学3年生。プログラミング歴は約3年。Pythonは割と好きな方。JavaもAndroid開発で触れていたりする。

大学では物理学を勉強中。好きな物理理論は一般相対性理論らしい。

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

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

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

大石ゆかり

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

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

 

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