Java的基础数据类型:
- 整型
数据类型 | 占用存储空间 |
---|---|
byte | 1字节 |
short | 2字节 |
int | 4字节 |
long | 8字节 |
- 浮点型
数据类型 | 占用存储空间 |
---|---|
float | 4字节 |
double | 8字节 |
浮点型的数字不能适用于计算的过程中,浮点使用二进制,无法表示1/10这样的数字,所以用于数字计算的系统中最好使用BigDecimal这样的类来进行计算
- 布尔型
true(1) and false(0) 默认值是false - 字符型
char是一个16位的Unicode 占用存储空间是2个字节
变量的赋值
int aNum = 1;在声明一个变量之后在使用此变量之前一定是要对其赋值的,不然会产生错误。
常量的赋值
final int LENGTH = 1; 变量名全大写 final修饰变量表示不可改变
类型转换
当使用两个数值进行二元操作时候,运算符合两边的数据类型先要转换为一致,不然就很容易造成精度丢失。
- java中整数类型默认的int类型;小数类型默认的double;
char 可以当做一中特殊的整数类型;
int无法转换为boolean;
小数类型转为整数类型,小数可能被舍弃,所有出现精度损失,所以需要强制转换;
boolean 类型不能转换成任何其它数据类型
- 自动转换
自动转化需要满足两个条件:1.转换前的数据类型与转换后的数据类型兼容 2.转换后的数据类型比转化前数据类型表示范围大
~~ ~
还需注意的是:
1、如果两个操作数中有一个是double类型,另一个就会转换为double类型;
2、否则,如果有一个操作数是float,另一个就会转化为float;
3、否则,如果有一个操作数是long,另一个就会转换为long;
4、否则,两个操作数都将转换为int类型。
~
- 强制转换
强制转化也需要满足转换前的数据类型与转换后的数据类型兼容这一条件
-整型互转
向下转型容易造成数据精度的丢失以及内容的溢出如:
int a = (int)long
byte a = (int)int
向上转型可以视为自动转型
-数字转String:两种方法可以使int类型转换为String类型
String.valueOf(int)其他数字类型转换为String类型都可以通过String.valueOf()这API进行转换
int + “”
-字符串转数字类型
字符串转数字类型,需要字符串本身就是数字如:”111”,”222”,不能带有其他的非数字字符串,不然会抛出运行时异常,转换的API是Integer.parseInt(String),转换为其他数字类型如long 使用Long.prseLong(String)….