1.3.基本类型之间的转换

俩种:

1.自动类型转换(隐式转换)

不同类型的数据进行混合运算时(包括赋值)java会自动进行数据类型转换(想表示范围大的方向转换)而不放声错误。

转换规则:boolen类型不允许转换为其他类型

byte,short,char相互运算时,会宁县转换为int形

int ,long,float和double在混合运算时,数据类型会隐式转换为隐式转换

数据类型转换方向为:

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

---------------

public class Test {

public static void main(String args[]){//主方法,格式是固定的

short st=30;//声明short类型变量st ,初始值为30

int i=10,it=0;//声明int类型变量i,it,初始值10和0

System.out.println("赋值前==i="+i);

it=st;//把人short赋值给int类型

//以下,short和int 类型左加法运算时,short会自动转为int 类型做计算,计算结果赋值给i

i=st+i;

System.out.println("赋值后==i="+i);

System.out.println("赋值后==it="+it);

}

}

----

结果:

赋值前==i=10

赋值后==i=40

赋值后==it=30

----

2.强制转换

如果标识大范围大的数据行向范围小的数据类型方向转换,则需要使用强制类型转换(显示转换)。即图2-4从右向左数据类型转换时,需要强制转换(强制转换可能给会造成精度损失)

(目标类型的值)值

其中:

目标类型;准备转换成的数据类型

值:原数据

---

演示代码

public class Test {

public static void main(String args[]){//主方法,格式是固定的

double d =1222.432;//声明double类型并赋值

int i=1;//声明int 形并赋值

int k=(int)(i+d);//做混合运算把double类型强制转换成int类型

System.out.println("赋值后==k="+k);

}

}

---结果是:

1223

----

实例演示char 类型转换为与int类型的相互转换

public class test{

public atatic void main(String [] args){

int i=1;

int ise=8;

char c='A';

int ith=c+i;

char cse=(char)(c+ise);

System.out.prinln("char 类型cse="+cse);

System.out.println("int 类型 ith="+ith);

}}

---结果

char类型cse=I

int 类型 ith=66

你可能感兴趣的:(1.3.基本类型之间的转换)