/**
byte,char,short(这三个平级计算的时候会自动转换成int类型进行计算)-->int-->float-->long-->double(向右自动转换)
1:int 型值可以赋值给所有数值类型的变量(必须要在适当范围内);
2:long 型值可以赋值给 long、float、double类型的变量
3:float 型值可以赋值给 float、double类型的变量
4:double 型值只能赋值给 double类型的变量
布尔型和其他基本数据类型之间不能相互转换
byte型可以转换为short、int、long、float、double
short型可为转换为int、long、float、double
char型可转换为int、long、float、double
int型可转换为long、float、double
long型可转换为float、double
float型可转换为double
*/
public class TestBaseDataAutoChange{
/*boolean(比较特殊不能参与自动转换)
【byte(1)short(2) char(2)】int(4) long(8)float(4) double(8)
*/
public static void main(String[] args){
boolean a=true;
//boolean a1 = 1;//不兼容
byte b=120;
//byte b1=120.2;//损失精度,数据默认为double类型的
short c =1000;
//short c1 = 1000.2;//损失精度,数据默认为double类型的
char d='z';
char d1=123; //直接转换成 { 字符
//char d2=123.2;//损失精度,数据默认为double类型的
int e=1000;
//int e1 = 1000.1;//损失精度,数据默认为double类型的
int e_char='d';
float f=3.1415926F;
float f1=(int)3.1415926F;
long g=876l;
long g1=876;
//long g2 = 876.2;//损失精度,数据默认为double类型的
double h=2.71828;
//int 型值给以赋值给所有数值类型的变量
System.out.println("int型值15给以赋值给所有数值类型的变量");
short int_short=15;
char int_char=15;
int int_int = 15;
long int_long = 15;
float int_float = 15;
double int_double = 15;
System.out.println("short类型:"+int_short+",char类型:"+int_char+",int类型:"+int_int);
System.out.println("long类型:"+int_long+",float类型:"+int_float+",double类型:"+int_double);
System.out.println("布尔型常量!"+a);
System.out.println("字节型常量!"+b);
System.out.println("字符型常量!"+d);
System.out.println("字符型常量!自动转换成对应字符 "+d1);
System.out.println("短整型型常量!"+c);
System.out.println("整型常量!"+e);
System.out.println("长整型常量!"+g);
System.out.println("长整型常量!自动int型"+g1);
System.out.println("单浮点型常量!"+f);
System.out.println("单浮点型常量! 强转int型"+f1);
System.out.println("双浮点型常量!"+h);
}}
|
|