/*
测试整型和浮点型变量的使用
*/
class VariableTest1{
public static void main(String[] args) {
//1、测试整型变量的使用
//byte(1字节=8bit)\ short(2字节) \ int(4字节) \ long(8字节)
byte b1 = 12;
byte b2 = 127;
//编译不通过。因为超出了byte的存储范围
//byte b3 = 128;
short s1 = 1234;
int i1 = 1243461;
//①声明long类型变量时,需要提供后缀。后缀为‘l’或‘L’
long l1 = 15273528138l;
long l2 = 15273528138L;
//②开发中,大家定义整型变量时,没有特殊情况的话,通常都声明为int类型。
//2、测试浮点类型的使用
//float \ double
double d1 = 12.3;
//声明float类型变量时,需要提供后缀。后缀为‘f’或‘F’
float f1 = 12.3f;
System.out.println(f1);
System.out.println("f1 = "+f1);
//②开发中,大家定义浮点型变量时,没有特殊情况的话,通常都声明为double类型,因为精度更高
//③float类型表示的范围要大于long类型的表示范围,但是精度不高,不是连续的。
//测试浮点型变量的精度
//结论:通过测试发现浮点型变量的精度不高。如果在开发中,需要极高的精度,需要使用BigDcimal类替换浮点型变量
//测试1:
System.out.println(0.1+0.2);
//并不是所有的小数都能可以精确的用二进制浮点数表示。二进制浮点数不能精确的表示0.1、0.01、0.001这样的10的负次幂
//浮点类型float、double的数据不适合在不容许误差的金融计算领域。如果需要精确数字计算或保留指定位数的精度,需要使用BigDecimal类。
//测试2:
float ff1 = 123123123f;
float ff2 = ff1 + 1;
System.out.println(ff1);
System.out.println(ff2);
System.out.println(ff1 == ff2);
}
}
运行结果如下: