数据类型
Java数据类型
1、基本类型
2、引用类型
基本数据类型分为
1、数值类型
(a)整数类型
<1>byte
占1个字节,范围 -128 ~ 127 (2^8)
<2>short
占2个字节,范围 -32768 ~ 32767 (2^16)
<3>int
占4个字节,范围 -2147483648 ~ 2147483647 (2^32)
<4>long
占8个字节,范围 -9223372036854775808 ~ 923372036854775807 (2^64)
(b)浮点类型
<5>float
占4个字节
<6>double
占8个字节
(c)字符类型
<7>char
占2个字节
2、布尔类型:
<8>boolean
占1位,其值只有true和false
引用数据类型
1、类
2、接口
3、数组
注意 |
- float的不精确
/**
* 不要用浮点数进行比较 !!!!
* //===============================================
* //浮点数拓展?银行业务怎么表示?钱
* //银行业务使用 BigDecimal 数学工具类
* //===============================================
* //float 有限 离散 舍入误差 大约
* //接近但不等于
* //double
*/
float f = 0.1f;
double d= 1.0/10;//0.1
System.out.println(f==d); //flase
System.out.println(f);
System.out.println(d);
System.out.println("============================");
float d1 = 23232378273848475847584758f;
float d2 = d1 +1;
System.out.println(d1 == d2); //true
- 布尔类型 占32位
- boolean类型被编译为int类型,等于是说JVM里占用字节和int完全一样,int是4个字节,于是boolean也是4字节
2.boolean数组在Oracle的JVM中,编码为byte数组,每个boolean元素占用8位=1字节 - (待考证) boolean数组在非Oracle JVM里面,占用字节数也许不是1字节
-
Java是强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 -
零碎知识点
二进制后加0b
八进制前面加0
十六进制前面加0x
float后面加F
long后面加L
1字节等于8位
//整数拓展:进制 二进制b 十进制八进制0 十六进制0x
int i = 10;
int i2 = 010;//八进制,0开头
int i3 = 0x10; //十六进制 o~9 A~F 16
int i4 = 0b10; //二进制
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);