Java数据类型分为内置类型和扩展类型两大类,其中的内置类型就是基本数据类型,而扩展类型则是Java语言根据基本类型扩展出的其他类型(如:class,String等)。本文主要讨论的是前者。
boolean:只能取两个值:true和false,用于判断是否;
byte,short,int,long:都是表示整数类型,但是各自的取值范围和占用的空间大小不一样,取值范围越大,占用空间越大。一般常用int类型,但是如果是对内存占用要求比较严格的话就要谨慎选择使用哪个类型;
float和double:表示浮点类型,也就是小数,取值范围和占用空间同整型,占用空间越大,小数的精度越高;
char:一个字符,char在Java中是16位的,因为Java用的是Unicode。可以这样给它赋值:
1.char c1='c';
2.char c2=75;
如果把c1和c2输出到console的话你会发现c2的输出是“A”,因为字母“A”在ascii码中的十进制值为65。
附上一张码表:
类型转换:
在编程中,有时候我们会需要把一个类型转换成另一个类型,这个过程就叫类型转换。从精度低的类型转到精度高的类型是可以直接转换的,例如:
int a = 10;
long b = a;
从精度高的类型转到低精度的类型需要强制类型转换,像这样:
long t = 7878787;
int b = (int) t;
需要说明的是,从高精度转到低精度,如果前者的数值大小超出了后者的最大范围,是会造成数据溢出,这样程序就会出问题:
如图所示,int 类型的a=777,把他强制转换成byte类型,由于byte类型所能存储的最大值为127,所以超出了它的范围,最后输出b就变成了9,所以强转许谨慎;