Java是一种强类型编程语言,因而在声明变量的时候必须声明数据类型,java语言有基本数据类型和引用数据类型这两大数据类型,基本数据类型有8种分别是4种整型、2种浮点类型、1种用于Unicode表示字符单元的字符类型和1种表示真值的布尔类型;引用数据类型有接口(interface)、数组(array)以及类(class),可以使用下图做一个详细的分类:
基本数据类型各个类型关键字、取值范围、占内存大小以及默认如下:
整数型
表示没有小数的部分的数值,也可以表示负数,其有整型(int)占4个字节,字节型(byte)占1个字节,短整型(short)占2个字节,长整型(long)占8个字节,java中常用的是int类型,而对于byte和short类型用于特定的场合,对于int类型的范围与运行的机器无关从而解决了软件的平台移植或者不同操作系统之间带来的不便问题。小知识点在java7中表示二进制数在前面加上0b并且还可以在数字之间加上下划线(”_”),例如:0b1010_0111,下划线只是为了方便阅读在编译的时候会去掉下划线。
浮点型
表示有小数的部分,其有两种形式一种是单精度浮点型(float),一种是双精度浮点型(double),前者有7位有效小数后者有15位有效小数,对于单精度浮点型后面没有加后缀”F”在java中默认会是double类型,所以类型为单精度浮点型时最好后面加上后缀F,当然double类型后面加上后缀”D”加一明确。所有的浮点型都遵循IEEE754规范,其中说说较为特殊的三种情况,正无穷大、负无穷大以及不是一个数字(NaN),例如:一个正整数除以0为正无穷大,0除以0或是负数的平方根为NaN。
字符型
用于表示单个字符,通常用来表示字符常量,例如:’A’是编码65对应的字符常量。万事不能绝对,其中也有比较特殊的字符常量如下图:
对于处于当时情况(具体是什么情况自己可以私下看看)java的字符型采用的是16位其实是占用2个字节。
布尔类型
表示逻辑,在java中只有两个值ture和false,数值和布尔值之间不能进行互换,也不能把null赋值给布尔类型变量。