タイプの変換(Java)
7564 ワード
タイプの変換Javaは強いタイプのプログラミング言語であり、異なるタイプの変数間で互いに値を割り当てると、厳格な検証が発生します.1.intとlong/doubleの相互割り当て:
異なるタイプ間の付与値をまとめると、範囲の小さいタイプは範囲の大きいタイプに変換でき、逆に変換できない(intはlongに付与でき、longはintに付与できない)2.intとbooleanは互いに変換できる
まとめintとbooleanは互いに変換できない3.int字面値定数byteに値を与える
結論int字面値定数byteに付与する場合、定数がbyteのデータ範囲内であるかどうかをチェックし(-128~127)、範囲外ではコンパイルエラー(129)、範囲内ではコンパイルパス(100)となる.4.強制型変換
結論:強制タイプ変換を使用する過程で、例えばdouble longなどintに関連するタイプをintに変換することができるが、精度が失われることがある.例えばb=2.3強制タイプを2に変換するが、互いに関係のないタイプ間では変換できない.数値は1.intとLongの混合演算を向上させる
結論:前のintとlongの相互変換と同様に、int型に変換する必要がある場合は、強制型変換を使用することができる.2.byteとbyteの演算
結論:byteとbyteは同じタイプですが、コンパイルエラーが表示されます.byteとbyteの演算では、まずintタイプに変換され、結果はintで、byteに変換すると損失が発生する可能性があるため、変換には強制タイプ変換が必要です.intとString間の相互変換
int a=20;
long b=12;
a=b;// ,
b=a;//
int a=10;
double b=1.2;
b=a;//
a=b;// ,
異なるタイプ間の付与値をまとめると、範囲の小さいタイプは範囲の大きいタイプに変換でき、逆に変換できない(intはlongに付与でき、longはintに付与できない)2.intとbooleanは互いに変換できる
int a=12;
boolean b=false;
b=a;// ,
a=b;// ,
まとめintとbooleanは互いに変換できない3.int字面値定数byteに値を与える
byte a=100;//
byte a=129;// ,
結論int字面値定数byteに付与する場合、定数がbyteのデータ範囲内であるかどうかをチェックし(-128~127)、範囲外ではコンパイルエラー(129)、範囲内ではコンパイルパス(100)となる.4.強制型変換
int a=3;
double b=2.3;
a=(int)b;//
int a=2;
bollean b=false;
a=(int)b;
結論:強制タイプ変換を使用する過程で、例えばdouble longなどintに関連するタイプをintに変換することができるが、精度が失われることがある.例えばb=2.3強制タイプを2に変換するが、互いに関係のないタイプ間では変換できない.数値は1.intとLongの混合演算を向上させる
int a=2;
long b=3;
int c=a+b;// ,
long c=a+b;//
結論:前のintとlongの相互変換と同様に、int型に変換する必要がある場合は、強制型変換を使用することができる.2.byteとbyteの演算
byte a=3;
byte b=4;
byte c=a+b;
System.out.println(c);//
byte a=3;
byte b=4;
byte c=(byte)(a+b);
System.out.println(c);
結論:byteとbyteは同じタイプですが、コンパイルエラーが表示されます.byteとbyteの演算では、まずintタイプに変換され、結果はintで、byteに変換すると損失が発生する可能性があるため、変換には強制タイプ変換が必要です.intとString間の相互変換
//int String
int num=10;
String str1=num+"";// 1
String str2=String.valueof(num);
//String int
String str="100";
int num=Integer.paraseInt(str);