Java基础类型主要分为:byte-short-int-long-float-double
首先确定:8位(bit)=1字节(byte)(默认是8位1字节)
各类型多少字节需要看JVM的环境非系统环境;以下默认都是32位机器,如果是16位则折半,64位则*2
short=2byte
char=2byte
int=4byte
float=4byte
long=8byte
double=8byte
boolean=1byte
在《深入理解计算机系统》(Computer Systems, A Programmer's Perspective Second Edition)书中有这样的说法:
具体看情况。
数据转换:
按照byte-short-int-long-float-double这个顺序可以正常转换,反之则为强制转换(强制转换会有数据和精度的丢失,也可能改变数据的正负性)
在范围内的常数可以自动转换;
char是一个整型,与short区别及时无符号,最高位不作为符号位。char是0~65535 short是-32768~+32767,char是可以参与整型运算的。
double和float都是近似值,不影响科学运算。
还需要完善。