1、基本数据类型
在Java中共有八种基本数据类型,它们分别是以下几种类型:
第一类:整型 byte short int long
第二类:浮点型 float double
第三类:逻辑型 boolean(它只有两个值可取true false)
第四类:字符型 char
数据类型 | 描述 | 占用字节 | 取值范围 | 默认值 |
byte | Java中最小的数据类型 | 1个字节 | -128~127 | 0 |
short | 短整型 | 2个字节 | -32768~32717 | 0 |
int | 整型,用于存储整数 | 4个字节 | -2147483648~2147483647 | 0 |
long | 长整型 | 8个字节 | -2^63~2^63-1 | 0L |
float | 浮点型,用于存储带小数点的数字 | 4个字节 | / | 0.0f |
double | 双精度浮点型,用于存储带有小数点的数字 | 8个字节 | / | 0.0d |
char | 字符型,用于存储单个字符 | 2个字节 | 0~65535 | 空 |
boolean | 布尔类型,用于判断真或假 | 1个字节 | 仅有两个值,即true、false | false |
2、基本数据类型优先级
由低到高 : byte,short,char—> int —> long—> float —> double
转换切记:
1.不能对boolean类型进行类型转换。
2.不能把对象类型转换成不相关类的对象。
3.在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
4.转换过程中可能导致溢出或损失精度
5.浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
6.小数优先级比整数要高
7.整数默认都是整型(int),小数默认都是double型, 所以表示long型常量时要在后面加L(注意大写,小写容易和1混淆),float型后面需要加F,注意但是 byte/short类型没有这样的写法,因为byte,和short可以直接赋值范围内的整数常量(注意此处是常量)。如果是已经声明为int型的变量,赋值给byte和short时需要强制转换。
8.char型其本身是unsigned型,同时具有两个字节,其数值范围是0 ~ 2^16-1,因此,这直接导致byte型不能自动类型提升到char,char和short之间也不会发生自动类型提升(因为负数的问题)。同时,byte当然可以直接提升到short型。
参考博客地址:https://blog.youkuaiyun.com/i6223671/article/details/88368926