Java基本数据类型

Java中有两大数据类型:八大基本数据类型、引用数据类型。

基本数据类型的变量是保存在栈中,引用数据类型是保存在堆中。

一般没有指定类型的情况下,整数默认是int型,小数默认double型

类型说明占用内存取值范围默认值
boolean布尔型-true/falsefalse
byte字节型1个字节-27 ~ 27-1
-128 ~ 127
0
short短整型2个字节-215 ~ 215-1
-32768 ~ 32767
0
char字符型2个字节0 ~ 215-1\u0000
int整型4个字节-231 ~ 231-1
-2,147,483,648 ~ 2,147,483,647
0
long长整型8个字节-263 ~ 263-10
float单精度浮点型4个字节后缀F或f,1位符号位,8位指数,23位有效尾数0.0
double双精度浮点型8个字节1位符号位,11位指数,52位有效尾数0.0

类型间转换

类型转换分为:自动类型转换(隐式类型转换)、强制类型转换。

  • 自动类型转换是当一个数据类型从小范围向大范围进行转换时,java会自动进行隐式的类型转换,不需要我们手动处理,同时,数据在转换之后也不会存在数据精度丢失的问题。

  • 强制类型转换是从取值范围大的数据类型转至取值范围小的数据类型,如果不进行强制类型转换则会报错,同时在强制类型转换时,应需考虑能否接受精度缺失。

// 强制转换
double d = 1000;
float f = (float) d;

强制转换时可能出现的问题:

  • 会损失精度,产生误差,小数点以后的数字全部舍弃。

  • 容易超过取值范围

posted @ 2021-02-22 18:48  逍遥客灬  阅读(84)  评论(0编辑  收藏  举报