how convert char int java
このチュートリアルでは、FAQと例とともに、Javaでプリミティブデータ型charの値をintに変換するさまざまな方法を学習します。
文字をintに変換するために、さまざまなJavaクラスによって提供される次のメソッドの使用について説明します。
- 暗黙的な型キャスト(ASCII値の取得)
- getNumericValue()
- String.valueOf()を使用したparseInt()
- 「0」を引く
=> JavaトレーニングチュートリアルのA〜Zを確認するには、ここをクリックしてください
学習内容:
JavaでCharをintに変換する
Javaには、int、char、long、floatなどのプリミティブデータ型があります。シナリオによっては、charのデータ型で変数値が指定されている数値に対して操作を実行する必要があります。
このような場合、最初にこれらの文字値を数値、つまりint値に変換してから、必要なアクション、これらの計算を実行する必要があります。
例えば、 一部のソフトウェアシステムでは、特定の操作を実行する必要があります。または、文字データ型として提供される顧客フィードバックフォームで受け取った顧客評価に基づいていくつかの決定を行う必要があります。
このような場合、これらの値に対して数値演算をさらに実行するには、最初にこれらの値をintデータ型に変換する必要があります。 Javaには、文字をint値に変換するためのさまざまなメソッドが用意されています。これらの方法を詳しく見ていきましょう。
#1)暗黙的な型キャストの使用、つまり文字のASCII値の取得
Javaでは、互換性のある大きなデータ型変数の変数に小さなデータ型の値を割り当てると、値は自動的にプロモートされます。つまり、大きなデータ型の変数に暗黙的に型キャストされます。
例えば、 int型の変数をlong型の変数に割り当てると、int値は自動的にlong型のデータ型に型キャストされます。
「char」データ型変数に対しても暗黙的な型キャストが発生します。つまり、次のchar変数値を変数「int」データ型に割り当てると、char変数値はコンパイラによって自動的にintに変換されます。
例えば、
char a = ‘1’;
int b = a;
ここで、char‘a ’は暗黙的にintデータ型に型キャストされます。
「b」の値を出力すると、コンソールに「49」が出力されます。これは、char変数値「a」をint変数「b」に割り当てると、実際には「1」のASCII値である「49」が取得されるためです。
次のサンプルJavaプログラムでは、暗黙的なタイプキャストを使用して文字をintに変換する方法、つまりchar変数のASCII値を取得する方法を見てみましょう。
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert char to int Java program * using Implicit type casting i.e. ASCII values * * @author * */ public class CharIntDemo1 { public static void main(String() args) { // Assign character 'P' to char variable char1 char char1 = 'P'; // Assign character 'p' to char variable char2 char char2 = 'p'; // Assign character '2' to char variable char3 char char3 = '2'; // Assign character '@' to char variable char4 char char4 = '@'; // Assign character char1 to int variable int1 int int1 = char1; // Assign character char2 to int variable int2 int int2 = char2; // Assign character char3 to int variable int3 int int3 = char3; // Assign character char2 to int variable int4 int int4 = char4; //print ASCII int value of char System.out.println('ASCII value of '+char1+' -->'+int1); System.out.println('ASCII value of '+char2+' -->'+int2); System.out.println('ASCII value of '+char3+' -->'+int3); System.out.println('ASCII value of '+char4+' -->'+int4); } }
プログラムの出力は次のとおりです。
PのASCII値–> 80
pのASCII値–> 112
2のASCII値–> 50
@ –> 64のASCII値
上記のプログラムでは、さまざまなchar変数値のASCII値を次のように確認できます。
PのASCII値–> 80
pのASCII値–> 112
「P」と「p」の値の違いは、ASCII値が大文字と小文字で異なるためです。
同様に、数値と特殊文字のASCII値は、次のように取得されます。
2のASCII値–> 50
@ –> 64のASCII値
#2)Character.getNumericValue()メソッドの使用
Characterクラスには、getNumericValue()の静的オーバーロードメソッドがあります。このメソッドは、指定されたUnicode文字で表されるデータ型intの値を返します。
charデータ型のgetNumericValue()メソッドのメソッドシグネチャは次のとおりです。
public static int getNumericValue(char ch)
この静的メソッドは、データ型charの引数を受け取り、引数「ch」が表すデータ型int値を返します。
例えば、 文字「 u216C」は、値が50の整数を返します。
パラメーター:
ch:これはintに変換する必要がある文字です。
戻り値:
このメソッドは、データ型intの非負の値として、「ch」の数値を返します。 「ch」の数値が負でない整数でない場合、このメソッドは-2を返します。 「ch」に数値がない場合は-1を返します。
このCharacter.getNumericValue()メソッドを使用して文字をint値に変換する方法を理解しましょう。
銀行のソフトウェアシステムの1つで、性別がデータ型「char」で指定され、性別コードに基づいて、金利の割り当てなどの決定を行う必要があるシナリオを考えてみましょう。
このため、性別コードをcharからintデータ型に変換する必要があります。この変換は、以下のサンプルプログラムのCharacter.getNumericValue()メソッドを使用して行われます。
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert char to int Java program * using Character.getNumericValue() * * @author * */ public class CharIntDemo2 { public static void main(String() args) { // Assign character '1' to char variable char1 char gender = '1'; //Send gender as an argument to getNumericValue() method // to parse it to int value int genderCode = Character.getNumericValue(gender); // Expected to print int value 1 System.out.println('genderCode--->'+genderCode); double interestRate = 6.50; double specialInterestRate = 7; switch (genderCode) { case 0 ://genderCode 0 is for Gender Male System.out.println('Welcome ,our bank is offering attractive interest rate on Fixed deposits :'+ interestRate +'%'); break; case 1 ://genderCode 1 is for Gender Female System.out.println(' Welcome, our bank is offering special interest rate on Fixed deposits '+ 'for our women customers:'+specialInterestRate+'% .'+'
'+' Hurry up, this offer is valid for limited period only.'); break; default : System.out.println('Please enter valid gender code '); } } }
プログラムの出力は次のとおりです。
性別コード—> 1
ようこそ、私たちの銀行は女性のお客様に定期預金の特別金利を提供しています:7.0%。
お急ぎください。このオファーは期間限定で有効です。
したがって、上記のプログラムでは、char変数のgender値をint値に変換して、変数genderCodeのint値を取得しています。
char 性別=「1」;
int 性別コード=文字。 getNumericValue (性別);
したがって、コンソールで印刷する場合は、システムです。 アウト .println( 'genderCode—>' + englishCode);次に、コンソールに次のようにint値が表示されます。
性別コード—> 1
同じ変数値がswitchcaseループに渡されます スイッチ (genderCode)さらなる意思決定のため。
#3)Integer.parseInt()およびString.ValueOf()メソッドの使用
この静的parseInt()メソッドは、ラッパークラスIntegerクラスによって提供されます。
これがのメソッドシグネチャです Integer.parseInt() :
public static int parseInt(String str)はNumberFormatExceptionをスローします
このメソッドはString引数を解析し、Stringを符号付き10進整数と見なします。 String引数のすべての文字は、10進数である必要があります。唯一の例外は、最初の文字がASCIIのマイナス記号「-」とプラス記号「+」であり、それぞれ負の値と正の値を示すことです。
ここで、「str」パラメータは、解析されるint表現を持つ文字列であり、引数で表される整数値を10進数で返します。文字列に解析可能な整数が含まれていない場合、メソッドは例外をスローします NumberFormatException
parseInt(のメソッドシグネチャに見られるように ストリング str)、parseInt()メソッドに渡される引数はStringデータ型です。したがって、最初にchar値をStringに変換してから、このString値をparseInt()メソッドに渡す必要があります。このために、String.valueOf()メソッドが使用されます。
valueOf()は、int、floatなどのプリミティブデータ型の引数をStringデータ型に変換するために使用されるStringクラスの静的オーバーロードメソッドです。
public static String valueOf(int i)
この静的メソッドは、データ型intの引数を受け取り、int引数の文字列表現を返します。
パラメーター:
i:これは整数です。
戻り値:
int引数の文字列表現。
したがって、Integer.parseInt()メソッドとString.valueOf()メソッドの組み合わせを使用しています。次のサンプルプログラムでこれらのメソッドの使用法を見てみましょう。このサンプルプログラムは、(1)最初に文字データ型の顧客評価値を整数に変換し、(2)次にif-elseステートメントを使用してコンソールに適切なメッセージを出力します。
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert char to int Java program * using Integer.parseInt() and String.valueOf() methods * * @author * */ public class CharIntDemo3 { public static void main(String() args) { // Assign character '7' to char variable customerRatingsCode char customerRatingsCode = '7'; //Send customerRatingsCode as an argument to String.valueOf method //to parse it to String value String customerRatingsStr = String.valueOf(customerRatingsCode); System.out.println('customerRatings String value --->'+customerRatingsStr); // Expected to print String value 7 //Send customerRatingsStr as an argument to Integer.parseInt method //to parse it to int value int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7 if (customerRatings>=7) { System.out.println('Congratulations! Our customer is very happy with our services.'); }else if (customerRatings>=5) { System.out.println('Good , Our customer is satisfied with our services.'); }else if(customerRatings>=0) { System.out.println('Well, you really need to work hard to make our customers happy with our services.'); }else { System.out.println('Please enter valid ratings value.'); } } }
プログラムの出力は次のとおりです。
customerRatings文字列値—> 7
customerRatings int value —> 7
おめでとう!私たちの顧客は私たちのサービスに非常に満足しています。
上記のサンプルコードでは、String.valueOf()メソッドを使用して、文字をStringデータ型の値に変換しました。
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
ここで、この文字列値は、Integer.parseInt()メソッドを使用してデータ型intに変換されます。 customerRatingsStr 引数として。
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
このint値 customerRating 必要なメッセージをコンソールに比較して出力するために、if-elseステートメントでさらに使用されます。
#4)「0」を減算してJavaでCharをintに変換する
暗黙の型キャストを使用して文字をintに変換するのを見てきました。これは、文字のASCII値を返します。 例えば。 「P」のASCII値は80を返し、「2」のASCII値は50を返します。
ただし、「2」のint値を2として取得するには、文字のASCII値「0」を文字から減算する必要があります。 例えば。 文字「2」からint2を取得するには、
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
注意 :これは、数値文字(1、2など)のint値のみを取得する場合に役立ちます。また、ASCII値の差を返すだけなので、「a」、「B」などのテキスト値には役立ちません。 'とその文字。
例を使用した回帰テストとは
ゼロのASCII値、つまり文字のASCII値から「0」を減算するこの方法を使用するサンプルプログラムを見てみましょう。
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert char to int Java program * using ASCII values by subtracting ASCII value of '0'from ASCII value of char * * @author * */ public class CharIntDemo4 { public static void main(String() args) { // Assign character '0' to char variable char1 char char1 = '0'; // Assign character '1' to char variable char2 char char2 = '1'; // Assign character '7' to char variable char3 char char3 = '7'; // Assign character 'a' to char variable char4 char char4 = 'a'; //Get ASCII value of '0' int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0); // Get int value by finding the difference of the ASCII value of char1 and ASCII value of 0. int int1 = char1 - '0'; // Get int value by finding the difference of the ASCII value of char2 and ASCII value of 0. int int2 = char2 - '0'; // Get int value by finding the difference of the ASCII value of char3 and ASCII value of 0. int int3 = char3 - '0'; // Get int value by finding the difference of the ASCII value of char4 and ASCII value of 0. int int4 = char4 - '0'; //print ASCII int value of char System.out.println('Integer value of '+char1+' -->'+int1); System.out.println('Integer value of '+char2+' -->'+int2); System.out.println('Integer value of '+char3+' -->'+int3); System.out.println('Integer value of '+char4+' -->'+int4); } }
プログラムの出力は次のとおりです。
0のASCII値—> 48
ASCII値1—> 49
0 –> 0の整数値
1の整数値–> 1
7の整数値–> 7
–> 49の整数値
上記のプログラムで、文字「0」と「1」をintデータ型の値に割り当てると、暗黙的な変換により、これらの文字のASCII値が取得されます。したがって、以下のステートメントに示すように、これらの値を出力すると、次のようになります。
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
次のように出力を取得します。
0のASCII値—> 48
ASCII値1—> 49
したがって、charと同じ値を表す整数値を取得するには、数値を表す文字から「0」のASCII値を減算します。
int int2 = char2 - '0'; .
ここでは、「1」のASCII値から「0」のASCII値を減算しています。
つまり、49-48 = 1です。したがって、コンソールchar2で印刷する場合
System.out.println(““ + char2 +” –>” + int2の整数値);
次のように出力を取得します。
1の整数値–> 1
これで、サンプルプログラムを使用してJava文字を整数値に変換するさまざまな方法について説明しました。したがって、Javaで文字をintに変換するには、上記のサンプルコードで説明されている任意のメソッドをJavaプログラムで使用できます。
それでは、Javaの文字から整数への変換に関してよく寄せられる質問のいくつかを見てみましょう。
Char To IntJavaに関するFAQ
Q#1)charをintに変換するにはどうすればよいですか?
回答:
Javaでは、charは次のメソッドを使用してint値に変換できます。
- 暗黙的な型キャスト(ASCII値の取得)
- Character.getNumericValue()
- String.valueOf()を使用したInteger.parseInt()
- 「0」を引く
Q#2)Javaのcharとは何ですか?
回答: charデータ型は、単一の16ビットUnicode文字を持つJavaプリミティブデータ型です。値は、一重引用符「」で囲まれた1文字として割り当てられます。 例えば、 char a = ‘A’またはchar a = ‘1’など。
Q#3)Javaでcharを初期化するにはどうすればよいですか?
回答: char変数は、一重引用符で囲まれた1文字、つまり「」を割り当てることによって初期化されます。 例えば、 char x = ‘b’、char x = ‘@’、char x = ‘3’など。
Q#4)char Aのint値は何ですか?
回答: char「A」がint変数に割り当てられている場合、charは暗黙的にintにプロモートされ、値が出力されると、文字「A」のASCII値である65が返されます。
例えば、
int x= 'A'; System.out.println(x);
したがって、これはコンソールに65を出力します。
結論
このチュートリアルでは、Javaデータ型charの値をintに変換する次の方法を見てきました。
- 暗黙的な型キャスト(ASCII値の取得)
- Character.getNumericValue()
- String.valueOf()を使用したInteger.parseInt()
- 「0」を引く
これらの各方法について詳しく説明し、サンプルJavaプログラムを使用して各方法の使用法を示しました。
=> ここですべてのJavaチュートリアルを確認してください