一.java8种基本数据类型
java–强类型
double a=‘2’;(√)
int a=10.0(×)
数据类型 | 表示 |
---|---|
整型 | byte(8比特,能存2的8次方=256个数) 、short、int、long(64bit) |
浮点型 | float 、double(64bit) |
布尔型 | boolean |
字符型 | char |
float a=10(√)
int b=a(×)
二、内存空间分配的底层数据结构
int型(32bit):1位符号位,31位数值位
1 | 31 |
---|
float型(32bit):1位符号位,8位阶位,23位数值位
1 | 8 | 23 |
---|
java的强数据类型本质上就是在内存中开辟不同形式的内存空间。
三.数据类型转换
1.自动类型转换(相对于强制类型转换):
实线箭头表示可以直接转换
虚线箭头表示会有精度丢失
例:
char a=‘a’;
int b=a;
输出b
结果:97
2.强制类型转换:
int a=97;
char b=a;
输出b
结果报错,改正:char b=(char)a;—>这是一种强制转换
一般大位数转小位数(例如int转byte)要强制类型转换,例如:
int a=123456;
byte b=(byte)a;
输出b
3.
byte a=10;
byte c=1;
byte b=a+c;
错误提示:不兼容的类型:从int转换到byte可能会有损失。
原因:两个整数相加,默认都是int型的,也就是说,尽管a、c都是byte型的,但a+c是int型。