java语言基本类型分为三大类;
分别为数值型,字符型,布尔型;这三类具体又包含8个类型。
每种具体类型都有相应的关键字表示;
1.数值型包含:整型,浮点型(就是小数)两小类;
数值型当中的整型又包含了四类:byte;short;int;long
数值型当中的浮点型又包含了两类:float;double
2.字符型:char
3.布尔型:boolean
这八类在内存中占有不同的长度;
计算机存储设备的最小信息单元叫“位(bit)”,又称之为“比特位”
连续的 8个位 成为 1个“字节(byte)”
操作系统分屏内存最少1个字节,即八个位,而不是1个位;
长度越大,代表着范围越大。
类型 | 长度(位) | 长度(字节) | 表示范围 | 默认值 |
---|---|---|---|---|
byte | 8位 | 1字节 | -128~127(-2^7~2^7-1) | 0 |
short | 16位 | 2字节 | -32768~32767(-2^15~2^15-1) | 0 |
int | 32位 | 4字节 | -2147483648~2147483647(-2^31~2^31-1) | 0 |
long | 64位 | 8字节 | -2^63~2^63-1 | 0 |
float | 32位 | 4字节 | -3.403E38~3.403E38 | 0.0 |
double | 64位 | 8字节 | -1.798E303~1.798E308 | 0.0 |
char | 16位 | 2字节 | 表示一个字符,例如:(‘a’,’A’,’0’,’中‘) | “空字符(\u000) |
boolean | 8位 | 1字节 | 只有两个值:true 与 false | false |
- 不同的级别数据类型之间可以进行转换;
从表示范围小的类型转换为表示范围大的类型,可以直接转换,称为隐式转换;
byte b=1;
int i=-2;
//表示范围小的类型可以直接转换为表示范围大的类型
i=b;
i=c;
从表示范围大的类型转换为表示范围小的类型,需要强制转换,称为显式转换;
byte b=1; int i=-2; //表示范围大的不可以直接转换为范围小的类型,需要强制转换,称为显式转换 b=(byte); c=(char);
- 虽然类型之间可以进行强制的隐形转换,但是也需要有一定的前提
数值类型和boolean类型;强制也不可以;
byte b=1; boolean b2=false; //"风马牛不相及"的boolean和数值类型,强制也不能转换 b2=b;//(编译错误) b2=(boolean)b;//(编译错误)
用”=”可以为任何一种基本数据类型的变量赋值;
赋值时注意不要超过表示范围,否则将会出现编译错误;
//用=可以直接使用数据赋值为数值型类型的进行赋值,但是不能超出数据类型的表示范围 byte b1=127; byte b2=129;//超出byte的表示范围(byte的范围为-128~127),编译错误
char类型使用 ‘ ‘ 引用单个字符赋值;也可以使用非负整数进行赋值;
//用 ' ' 引用单个字符为char赋值,也可以是非负整数 char ca='a'; char c2=12; char c3='ab';//编译错误(char代表的是单个字符,ab这是两个字符了) char c4=12.8;//编译错误(char除了单个字符外,只能使用非负整数进行赋值) char c5=-199;//编译错误
小数默认是double类型;
- 使用f/F后缀显式表示float类型;使用d/D后缀显式使用double类型; | 类型 | 长度(位) | 长度(字节) | 表示范围 | 默认值 | | —- | —- | —- | —- | —- | | float | 32位 | 4字节 | -3.403E38~3.403E38 | 0.0 | | double | 64位 | 8字节 | -1.798E303~1.798E308 | 0.0 |
//小数默认为double类型;使用f或F后缀时,表示该小数是float类型;
float f1=1;
float f2=1.0;//编译错误(这里1.0默认是double类型,与等号左边条件不符)
float f3=(float)1.0;//强制转换(显式转换)double表示的范围大,float表示的范围比double小,大转小,需要强制转换
float f4=1.0f;
//小数默认为double类型;使用d或D后缀可以显式表示该小数是double型;
double d1=1.0;
double d2=1.0d;
- boolean型的只有true和false两个值 | 类型 | 长度(位) | 长度(字节) | 表示范围 | 默认值 | | —- | —- | —- | —- | —- | | boolean | 8位 | 1字节 | 只有两个值:true 与 false | false |
//boolean型的只有true和false两个值
boolean b3=false;
boolean b4=true;
boolean b5=1;//编译错误(boolean型的只有true和false两个值)