Java数据类型
Java数据类型
数据类型{基本数据类型,引用数据类型}
基本数据类型{数值型、字符型( char)、布尔型(bollean)}
引用数据类型{类(class)、接口(Interface)、数组([])}
数值型{整数型(byte、short、int、long),浮点型(float、double)}
Java语言是一种强数据类型语言,每个数据必须指定类型,指导JVM分配内存空间
Java基本数据类型
整数型:
有固定的表数范围和字段长度,其不受操作系统的影响,以保证java系统的可移植性
java语言的整形常量默认为int型,声明long型常量可以后加"l"或"L"
byte:长度:1字节,-128~+127
short:长度:2字节,-32768~+32767
int:长度:4字节,-231~231-1
long:长度:8字节
注意:使用的类型,在赋值时需要注意值与类型相匹配
Java中的整数值,还可以代替其他进制表示
0b开头二进制
0开头8进制
0x开头16进制
浮点型:
float:长度:4字节
double:长度:8字节
注意:浮点型常量默认为double,要声明一个float型,需要在数字后面加f或F
计算机中小数是以近似值的方式存储的
布尔型:
逻辑值只能使用true或false关键字表示
字符型:
char:长度:2字节,字符用单引号括起来的单个字符
ASCII码:
二进制编码,定义了128个字符
字符在不同的编码表中又一个对应的十进制数,最终在计算机上使用这个数存储
最早的编码表:ASCII表,只能表示英文
不同国家定义自己国家的编码,如中国:GBK,GB2312
Unicode编码:里面包含了全球各个国家的文字字符
UTF-8:针对Unicode的一种可变长度字符编码
char类型数据可以参与算术运算,使用字符对应的码表中的整数值来进行运算
基本数据类型的转换
java可以从任意基本类型转为其他类型
布尔型不可以转换
默认转换:
容量小的类型可以默认转换成容量大的数据类型(容量大的可以包含下容量小的)
数据类型按容量大小排序为:
byte,short,char <int<long<float<double
强制类型转换:
容量大的转换为容量小的
可能出现问题:1.数据溢出 小的装不下大的
2.精度丢失
基本类型的大小关系:
byte short int long float double
char 8 4
由于浮点与整数的算法不同,所以4个字节的float表示的值比8个字节的long还要大