02_2数据类型转换

02_2数据类型转换

1. 基本数据类型转换

1.1boolean类型不可以转换为其他的数据类型

1.2整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:

1.2.1容量小的类型自动转换为容量大的数据类型;数据类型按容量大小排序为:

byte,short,char->int->long->float->double

byte,short,char之间不会互相转换,他们三者在计算时首先回转换为int类型

1.2.2容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能精度降低或溢出;使用时要格外注意。

1.2.3有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。

1.2.4实数常量(如:1.2)默认为double

1.2.5整数常量(如:123)默认为int

1.3

public void method() {

int 1, j;

//j=12; 此处j未做初始化

float f1=0.1; float f2=123;

//此处f1未做强制转换 f1=0.1f;f1=(float)0.1;

long l1=12345678, l2=888888888888888888888;

//l2超出范围,l2=888888888888888888888L;

double d1=2e20, d2=124;

byte b1=1, b2=2, b3=129;

//b3超出范围 b3=127;

j=j+10;

i=i/10;

i=i*0.1;

//需要强转 i=(int)i*0.1;

char c1=’a’, c2=125;

byte b=b1-b2;

//byte b=(byte)(b1-b2);

byte c=c1+c2-1;

//byte c=(char)(c1+c2-1);

float f3=f1+f2;

float f4=f1+f2*0.1;

//float f4=(float)(f1+f2*0.1);

double d=d1*i+j;

float f=(float)(d1*5+d2);

}

原文地址:https://www.cnblogs.com/flyback/p/8614973.html