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;//强制转换