天天看点

Java基本类型及其转换规则1.Java基本类型2.基本类型转换

1.Java基本类型

Java语言提供了八种基本类型。一种布尔类型,一种字符类型(也是一种整型),六种数字类型(四个整数型,两个浮点型)

1、布尔:boolean ,初始值为false 2、字符:char ,初始值为空,即''(或'\u0000'),java采用unicode,2个字节来表示一个字符(C++采用ascii,1个字节表示一个字符) 3、整数:包括int,short,byte,long ,初始值为0 4、浮点型:float,double ,初始值为0.0f和0.0d PS:float f=1.3是错误的,Java中不加后缀字母'f'或'F'的浮点类型是double类型。(在C++中虽然默认浮点类型是double,但是允许这样赋值) float f=1.3f,float f=1.3F,float f=(float)1.3,这三种赋值是正确的。

基本类型 所占空间(bit) 取值范围 包装类
boolean 1 false/true Boolean
char 16 '\u0000' ~ '\uffff' Character
byte 8 -128 ~ 127 Byte
short 16 -2^15 ~ 2^15-1 Short
int 32 -2^31 ~ 2^31-1 Integer
long 64 -2^63 ~ 2^63-1 Long
float 32 -3.40292347E+38 ~ +3.40292347E+38  Float
double 64 -1.79769313486231570E+308 ~ +1.79769313486231570E+308  Double

2.基本类型转换

Java基本类型可以相互转换,但是boolean除外 隐式转换(从低级到高级),又叫扩展转换,不会丢失信息,不需要显式进行转换。 强制转换(从高级到低级),又叫窄化转换,可能丢失信息,需要显式进行转换。

基本类型 可隐式转换成的类型(从低级到高级排列)
char int,long,float,double
byte short,int,long,float,double
short int,long,float,double
int long,float,double
long double
float double

强制转换可以将任何基本类型转换成其他基本类型,但是boolean除外,它不能转换。

/*
隐式转换和强制转换举例
*/
char ch=97;//代表ch='a'
int i=ch;//隐式转换
short sh=(int)i;//强制转换