java中的数据类型,分为引用类型和基本数据类型,其中基本类型有8种,六种数字类型(四个整数型(默认是int 型),两个浮点型(默认是double 型)),一种字符类型,还有一种布尔型。
整型: byte, short, int, long
浮点型: float, double
字符型: char
Boolean型: boolean
类型 | 占位 | 最大值 | 最小值 |
---|---|---|---|
byte | 8位 | 0x7f(127) | 0x80(-128) |
short | 16位 | 0x7fff(32767) | 0x8000(-32768) |
int | 32位 | 0x7fffffff(2G-1) 2^31-1或21亿 | 0x80000000(-2G) |
long | 64位 | (-2^63) | (2^63 -1) |
float | 32位 | (-2^128) | (2^128 -1) |
double | 64位 | ||
char | 16位 | ||
boolean |
数据类型转换:
byte → short → int → long → float → double
char → int → long → float → double
1、byte:
- byte数据类型是8位、有符号的,以二进制补码表示的整数;(256个数字),占1字节;
- 最小值是-128(-2^7);
- 最大值是127(2^7-1);
- 默认值是0;
- byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一;
- 例子:byte a = 100,byte b = -50。
2、short:
- short数据类型是16位、有符号的以二进制补码表示的整数,占2字节;
- 最小值是-32768(-2^15);
- 最大值是32767(2^15 - 1);
- Short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一;
- 默认值是0;
- 例子:short s = 1000,short r = -20000。
3、int:
- int数据类型是32位、有符号的以二进制补码表示的整数,占3字节;
- 最小值是-2,147,483,648(-2^31);
- 最大值是2,147,485,647(2^31 - 1);
- 一般地整型变量默认为int类型;
- 默认值是0;
- 例子:int a = 100000, int b = -200000。
4、long:
- long数据类型是64位、有符号的以二进制补码表示的整数;占4字节
- 最小值是-9,223,372,036,854,775,808(-2^63);
- 最大值是9,223,372,036,854,775,807(2^63 -1);
- 这种类型主要使用在需要比较大整数的系统上;
- 默认值是0L;
- 例子: long a = 100000L,int b = -200000L。
long a=111111111111111111111111(错误,整数型变量默认是int型)
long a=111111111111111111111111L(正确,强制转换)
5、float:
- float数据类型是单精度、32位、符合IEEE 754标准的浮点数;占4字节 -3.4*E38- 3.4*E38。。。浮点数是有舍入误差的;
- float类型32位长度中,1位为符号位,指数8位,位数23位(精度23位);
- 最大值2^128-1;
- 最小值-2^128;
- int类型精度(31位)大于float类型,但是范围小于float类型;
- float在储存大型浮点数组的时候可节省内存空间;
- 默认值是0.0f;
- 浮点数不能用来表示精确的值,如货币;
- 例子:float f1 = 234.5f。
- float f=6.26(错误 浮点数默认类型是double类型)
- float f=6.26F(转换正确,强制)
- double d=4.55(正确)
6、double:
- double数据类型是双精度、64位、符合IEEE 754标准的浮点数;
- double类型64位长度中,1位符号位,11位指数位,52位尾数;
- double类型精度比int精确,却不如long,但是范围远远大于long;
- 浮点数的默认类型为double类型;
- double类型同样不能表示精确的值,如货币;
- 默认值是0.0d;
- 例子:double d1 = 123.4。
7、boolean:
- boolean数据类型表示一位的信息;
- 只有两个取值:true和false;
- 这种类型只作为一种标志来记录true/false情况;
- 默认值是false;
- 例子:boolean one = true。
8、char:
- char类型是一个单一的16位Unicode字符;用 ‘’表示一个字符,java 内部使用Unicode字符集,他有一些转义字符,2字节,是一个2进制数
- 最小值是’\u0000’(即为0);
- 最大值是’\uffff’(即为65,535);可以当整数来用,它的每一个字符都对应一个数字
数据类型转换