Java中的数据类型
一.基本数据类型
数据类型 | 类型名称 | 占用字节 | 备注 |
---|---|---|---|
整型 | byte | 1 | java中所有的整数默认是int类型 |
short | 2 | ||
int | 4 | ||
long | 8 | ||
浮点型 | float(单精度) | 4 | Java中所有的小数都是默认为double类型 |
Double(双精度) | 8 | ||
字符型 | char | 2 | 所有在单引号之内的任意一个值都是字符 |
布尔型 | boolean | 1 |
例子:
int i;
i=520; //初始化
System.out.println(i);
i=250; //初始化
System.out.println(i);
i=1314; //初始化
System.out.println(i);
int i2; //因为这个变量是叫i2 跟i 不是同一个,所以可以声明。
i2=666;
System.out.println(i2);
// 定义八大基本数据类型的变量
byte b=127; // -128~127之间,超出这个范围会报错
short sh=127;
int i3=127;
//后面数字默认是int类型,当输出超过int我们需要在后面加上L让其先变成long类型然后赋给变量。
long l=12754545448L;
// 小数默认double,所以小数直接赋值给float会报错,需要在数字后面加F。
float f=127.0F;
double d=127.0;
boolean boo=false;
二.基本数据之间的转换
注意:boolean不参与类型之间的转换
一.自动转换
自动转换:一般是指,相同类型之间较小的数据类型可以自动转换成较大的数据类型
1:整型可以自动转换成浮点型 2:所有类型的变量都无法自动转成char
l=b; //byte转成long
l=sh; //short转成long
l=i; //int转成long
l=c; //char转成long
i=b; //byte转成int
i=sh; //short转成int
i=c; //char转成int
二.强制转换
强制转换:1:相同类型的时候较大的数据转成较小的数据类型 2:浮点型转换转成整型
如何强转: 需要在被转换的变量前面使用(),括号内写需要转成的类型。
精度损失: 强制转换有可能造成精度损失,所谓的精度损失就是小数点后面的值被砍掉了。
数据溢出: 强制转换有可能造成数据溢出,数据溢出的时候会正正得负,负负得正。
l=(long)f;
l=(long)d;
i=(int)l;
i=(int)f;
i=(int)d;
f = 129.5F;
i=(int)f;
System.out.println(i);
i=260;
b=(byte)i;
System.out.println(b)