基本数据类型
数值型
整数类型:存放整数
byte (占1个字节) short(占两个字节)
int(占4个字节)整数型默认类型
long(占8个字节)
浮点类型:存放小数
float(占4个字节)//单精度
double(占8个字节)//浮点型默认类型
字符型:存放单个字符
char(占4个字节)
布尔型:存放true,false
boolean(占一个字节)
当对运算结果是小数进行相等判断时,应该是以两个数的差值的绝对值进行判断。
//示例
double a = 1.2;
double b = 0.4 * 3;
if(a == b){
System.out.println("相等");
}else{
System.out.println("不相等");
}
//输出结果为不相等
//应当以绝对值的差值在某个范围内进行计算
double a = 1.2;
double b = 0.4 * 3;
if(Math.abs(a - b)<0.00001){
System.out.println("差值很小,可以判断相等");
}
+号的使用规则
char类型参与计算时,会转换成ascll码,再进行运算
当+号左右两边都是数值型,参与加法运算
当+号左右一边为字符串类型时,参与拼接运算
基本数据类型转换
自动转换:精度小的类型转换成精度大的数据类型
char -> int -> long -> float -> double
byte -> short -> int -> long -> float ->double
注意事项:
1.当把值赋值给byte时,应先判断是否在byte的范围内
2.多种数据类型参与运算时,会自动将数据转换成精度大的数据类型,再进行计算
3.byte,short,char类型进行计算时,会自动转化成int数据类型
4.boolean不参与数据类型转换
强制数据类型转换
只作用于最近的数据
示例:
int x = (int)(10 * 3.3)//出错
int y = (int)(10 * 3.3)//不会报错
字符串类型转换 需要加载类库,使用库中的方法
示例
String s = "18";
int s1 = Integer.parseInt(s);//字符串转整型
double s2 = Double.parseDouble(s);//字符串转双精度