一、存储空间
在java中,一共有8种基本类型,其中有4种整形、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolean类型。
(java中基本数据类型的存储空间是固定的,具有强大的可移植性、跨平台性。而在c语言中,数值类型的空间存储是随编译器的变化而变化的,在不同的平台,占用空间也可能不同)
整形:整形都是有符号的,首位为符号位,采用补码进行存储。
byte--8位
short--16位
int--32位 (幅值超过20亿)
long--64位
浮点类型:java中的浮点类型,符合IEEE754标准,float对应标准中的单精度,double对应双精度。
float--32位
double--64位
字符类型:java中的字符类型采用Unicode编码,一个char类型占用两个字节(c语言中char类型为ASCII编码,占用一个字节)
char—16位
真值:(官方文档This data type represents one bit of information, but its "size" isn't something that's precisely defined)
boolean—占用字符数不确定,貌似跟java虚拟机有关
二、数值前缀与后缀
前缀:16进制——0x,8进制——0(16进制数适用于所有整数类型,可以定义int i=0x12,float j=0x12)
后缀: long——L,double——D,float——F(没有后缀F的浮点数值默认为double类型)
三、数值计算——提升
1.在计算之前,数据类型比int小的(char,short,byte),都会先转换为int类型。
2.通常,表达式中出现的最大的数据类型,则为表达式的结果类型(如果一个int和一个long相加,结果为long)