JAva言語ベース(8)-データ型変換(デフォルト変換と強制変換)

1201 ワード

一般的に、演算に参加するデータのタイプは一致しなければならない.これは私たちが1+1で演算することができて、1+aで演算することができなくて、javaの中でもっと厳しくて、同じ数値の数字はbyte short int longの4つの異なるタイプがあって、それは演算の時にもタイプが一致することを要求して、一致しなければ、今日お話しするタイプ変換についてお話しします.
デフォルトの変換:
class TypeConvert
{
	public static void main(String[] args){
	   //           
	  int a = 1;
	  int b = 2;
	  System.out.println(a+b);
      //                 c+d=3      byte    
	  //      byte     ,           。    
	  // e   byte  ,       byte c      int c
	  //       e   int    ,      int   
	  byte c = 1;
	  int d = 2;
	  //byte e = c+d;  int  byte
	  int e = c+d;
	  System.out.println(e);
      // byte   byte      int
	  byte x = 1;
	  byte y = 2;
	  //byte z = x+y;
	  int z = x+y;
	  System.out.println(z);
	}
}

デフォルトの変換順序(小から大へ、上へ):
byte short char ->int->long->double    
byte short char演算時にintに変換し、演算中にlongタイプがあれば結果はlongタイプ、doubleタイプ、結果はdoubleタイプである.
byte short charは互いに変換されず、演算時にintタイプに変換されます.
強制変換(大から小へ、下へ):
書式設定  ターゲットデータ型 変数=(ターゲットデータ型)データ;
class TypeConvert
{
	public static void main(String[] args){
	  byte a = 1;
	  byte b = 2;
	  //       
	  byte c = (byte)(a+b);
	  System.out.println(c);
	}
}