JAVA 基本数据类型
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:eclipsel
作者:曾维嘉
撰写时间:2021年02月10日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 变量
变量是指代在内存中开辟的存储空间,用于存放运算过程中需要用到的数据。
内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来存储该类型数据。
Java的两大数据类型:
- 内置数据类型(基本数据类型)
- 引用数据类型
- 基本数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型
分类 | 数据类型 | 内存大小 | 内存位数 | 默认值 | 最小值 | 最大值 | 描述 |
数字类型 | Byte | 1 | 8 | 0 | - 2 ^ 7 | 2 ^ 7 | 有符号的以二进制补码表示的整数 |
| Short | 2 | 16 | 0 | - 2 ^ 15 | 2 ^ 15 | 有符号的以二进制补码表示的整数 |
| Int | 4 | 32 | 0 | - 2 ^ 31 | 2 ^ 31 | 有符号的以二进制补码表示的整数 |
| Long | 8 | 64 | 0 | - 2 ^ 63 | 2 ^ 63 | 有符号的以二进制补码表示的整数 |
| Float | 4 | 32 | 0.0f | - 2 ^ 128 | 2 ^ 128 | 单精度,符合IEEE754标准的浮点数 |
| double | 8 | 64 | 0.0d | - 2 ^ 1024 | 2 ^ 1024 | 双精度,符合IEEE754标准的浮点数 |
布尔型 | boolean |
|
| false |
|
|
|
字符类型 | char | 2 | 16 | U0000’ | \u0000(即为0) | \uffff(65535(2^16)) | Unicode字符 |
Float类型(32位):1bit(符号位) 8bits(指数位) 23bits(尾数位)
Double类型(64位):1bit(符号位)11bits(指数位) 52bits(尾数位)
- 数据类型的转换
数据类型的转换分为隐式转换(从小到大)和显示转换(从大到小)
下图为隐式转换
隐式转换(从小到大)示例:
byte b1=111;
隐士转换:第一次,byte类型b1转成int,
第二次,int类型的计算结果转换成long
long long1=b1+1;
显示转换(从大到小)示例:
int a=-13;
byte b2=(byte)a;//强制转换
通过包装类的静态方法转换
String str="13";
byte b3=Byte.parseByte(str);
byte b4=Byte.valueOf(str);
int int2=Integer.parseInt(str);
int int3=Integer.valueOf(str);
float float1=int2;
System.out.println(float1);
char
char char1='中';
int int1=char1;
System.out.println(int1);
int int2str=1000;
String str1=String.valueOf(int2str);