1.java数据类型
java中数据类型主要有两种:基本数据类型和引用数据类型
1.2java八种基本数据类型
整数数据类型:
byte(字节) 8位(8bit) 取值范围-128~127
short(短整形)2字节 16bit
int(整形)4字节 32bit
long(长整形)8字节 64bit
注意:如果定义一个整数没有加上任何标识的时候,默认是int类型的数据
小数数据类型:
float(单精度浮点型)4字节 32bit
double(双精度浮点型)8字节 64bit
布尔类型: 布尔类型只有两个值:true或false
boolean 1字节或者4个字节
java规范:如果使用boolean声明一个基本类型的变量时,那么该变量占4个字节;如果使用boolean声明一个数组类型的时候,那么每个数组的元素占一个字节。
字符类型:
char 2字节 16bit
2.数据类型转换
小数据类型----------->大数据类型 自动类型转换
大数据类型----------->小数据类型 强制类型转换 (编译时报错)
如图所示:
将上图报错行代码修改为:short st= (short) it; 即可
但是大数据类型往小数据类型转换可能会损失精度,慎用
如下代码:
int i=128;
byte b= (byte) i;
System.out.println(b);
输出结果:
byte数据类型的取值范围-128~127,因此有的人可能会想损失精度过后这里输出b为什么不是127呢,这里是计算机原理中原、反、补码的问题,就不深入了。(在计算机中如果一个二进制数的最高位是 1,那么该数据肯定是一个负数。如果一个二进制数的最高位是0,那么该数据肯定是一个正数)
注意:
1、凡是byte、short、char数据类型在运算的时候都会自动转换成int类型的数据再运算!
2、两个不同数据类型的数据在运算的时候结果取决于大的数据类型。
原文出自:https://my.youkuaiyun.com/qq_37094660(如需转载请注明出处)