一、8大基本类型:
1.整形:包括 byte,short,int ,long
2.浮点型:包括 float double
3.字符型(char)
4.布尔型(bllolean)
二、关于取值范围:
不同类型的数据的取值范围与虚拟机向计算机操作系统申请的内存大小有关。就拿int类型来说,int占用4个字节,32个byte位,按理说数据范围为2的32次方。但实际上只是 -2^31 ~ 2^31-1 。其实只要知道了整形在计算机中的表示和储存方式就很很容易理解。
整形数据一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。
其中第一个byte位表示数据的正负(0正1负),正数的补码与原码相同,负数的补码将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。于是就如 byte型 的范围为 -128 ~ 127(0111 1111 ~ 1000 0000) 于是你会发现一件事情,那就是-128在用8个byte位表示时是没有原码的。
所以,正是由于计算机会自动取补码的缘故才让数据范围的下限-1。
三、关于char类型
java中的char类型采用的是Unicode编码(一种字符序列),比如我们熟悉的 'a'==97 其实就是 'a'的序列号为97。unicode中有6万多个字符,包含我们能遇到的包括中文在内的几乎所有字符。