今天我们来学习一下Java中的数据类型,简称四类八种。 一:整数类型 byte:8 位,用于表示最小数据单位,-128~127 short:16 位,很少用,-32768 ~ 32767 int:32 位、最常用, long:64 位、次常用 , 注意事项:int a = 3;这里的3叫做字面量,就是直接写出来的常数。整数字面量默认都是int类型,所以在定义的 long 类型后面要加上L或l。小于32位的变量都是按照 int 结果去计算的。特别提醒的是强转符(强制转化数据类型)比数学运算符优先级要高。 二:浮点类型 float:单精度类型,32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。 double:64 位,最常用,后缀 D 或 d,1 位符号位,11位指数,52位有效尾数。 java浮点型默认为double型,所以要声明一个变量为float型时,需要在数字后面加F或者f。 例如:double a = 12345.6; float b = 12345.6f;//不加f会报错。 三:字符型 char:16位,通常使用Unicode编码。 四;布尔类型 boolean:真(true),假(false)。 五:类型转化 5.1自动类型转换 低级变量可以直接转换为高级变量,笔者称之为自动类型转换,例如,下面的语句可以在Java中直接通过: byte b; int i = b; long l = b; float f = b; double d = b; 如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如
char c='c'; int i=c; System.out.println("output:"+i);输出: 99; 对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。**
short i=99; char c=(char)i; System.out.println("output:"+c);输出: c; byte,short,int三种类型都是整型,因此如果操作整型数据时,最好统一使用int型。 5.2强制类型转化 将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换。即你必须采用下面这种语句格式:
int i=99; byte b=(byte)i; char c=(char)i; float f=(float)i;可以想象,这种转换肯定可能会导致溢出或精度的下降,因此并不推荐使用这种转换。