java基本数据类型8种
- byte
- short
- int
- long
- float
- double
- char
- boolean
分成2类,可以是前6种为数值型,后2种非数值。
可以分成3类,前6为数值,以及字符、布尔型。
也可以分成4类,前4为数值,56为浮点型,以及字符型和布尔类型。
float定义时,需要加大写或小写f,long类型可以加L或不加,double可以加或不加大小写D,字符串需要加””括起来,字符需要使用”括起来。
数字默认是int类型,浮点数默认是double。
基本数据类型的长度
类型 | 字节长度 | 范围 |
byte | 1 | -27~27-1(补码) |
short | 2 | -215~215-1(补码) |
int | 4 | -231-231-1(补码) |
long | 8 | -263-263-1(补码) |
float | 4 | 1.4E-45~3.4028235E38(浮点) |
double | 8 | 4.9E-324~1.7976931348623157E308(浮点) |
char | 2 | 一个不超过2字节的字符 (非负) |
boolean | 1 | true, false |
如何理解基本数据类型的数据范围?
一个字节为8位,前4种数据类型中,2n是它的总体范围,由于分为正数和负数,补码中正数从0开始,则正数最大值是2n-1,而负数中没有-0,负数最大值是-2n。
对于浮点数,它使用的是浮点数表示,虽然long为8字节,float为4字节,但float比long表示的数值范围要大。
对于char类型,表示一个字符,但该字符的字符集编码不能超过2字节。
boolean虽然占用1字节,但它仅有2个值有效,true,false。
如果定义时赋值超过数据范围,会编译报错,如果算数运算后超过范围,结果不对但不报错属于运行出错。