JAVA的数据类型分成两大类:基本数据类型、引用数据类型。
前者传递的是数的值,而后者传递的是内存中的地址。
基本数据类型分为:
数值:整形数(byte,short,int,long),浮点数(float、double)
字符:char
布尔:boolean
这样看来,一共是有八种基本数据类型。
下面,就对着八种数据类型进行一一的剖析。
整形数四种:表示整数,byte,short,int,long是从小到大排序的,它们的长度分别是8位、16位、32位、64位。所能包含的范围也可以从这个位数中轻松算出来。
比如byte是8位。那能表示的范围就是-27——27-1。
浮点数两种:表示小数,一般生产过程中,使用float(32位)已经足够了。double(64位)使用较少。至于其表示较为复杂。因为有三个部分,包括符号位、指数位、尾数位。在这里就不做探讨了。只需要知道double比float表示的范围要大,精度也更高即可。
字符:char。长度为16位,这种类型需要用单引号括起来,要注意的是ASCII码表。尤其是‘A’=65,‘a’=97。当直接用char ch1=97,即可将ch1的值设为a,同样的,也可以将char用作数值的计算。会自动转换成ASCII对应的数值来计算。
布尔:仅有两个值。true和false。
注意事项:
数值溢出:整形数值的溢出,会因为位运算的关系,而变成一个环。也就是说,最大值+1会等于最小值。最小值-1会等于最大值;浮点数则会直接报错。
默认值:浮点型默认是double,所以所有的float数据类型,都必须在数字后加上符号f。整形数据默认是int,不过却没有这种要求。
类型转换:分为自动转换和强制转换。自动转化是因为类型兼容的情况下,和别的更大范围的类型数操作时,会自动匹配成大的。简单说,就是float类型的a和double类型的b做操作时,a会自动转换成double类型。要特别注意的是,任何类型都可以自动转换成string;至于强制转换,就是显示在操作数前加上“(转换类型)”即可。