1 class Demo03{ 2 public static void main(String[] args){ 3 //关系运算符 == 4 5 //例1 6 int a = 10; 7 int b = 10; 8 double c = 10.0; 9 System.out.println(a==b); 10 System.out.println(a==c); 11 //结果 true,true 12 /* 13 ==左边,右边的类型一致,直接比较 14 ==左边,右边的类型不一致,会先将a的值由int类型提升为double类型,然后再比较 15 */ 16 17 18 //例2 19 //小数问题 20 System.out.println(3.0*10 == 30.0); 21 System.out.println(3.14*10 == 31.4); 22 System.out.println(3.141*10 == 31.41); 23 System.out.println(3.1415*10 == 31.415); 24 //结果 true,false,true,false 25 /* 26 关于二进制的问题 27 0.5是可以精确表示的,0.4就不能精确表示 28 0.5 1/2 29 0.25 1/4 30 0.125 1/8 31 0.0625 1/16 32 0.4 = 0.25 + 0.125 + ... 33 System.out.println(2.0 - 1.1); 34 在实际开发中,遇到小数问题的时候,请采用BigDecimal类来进行处理。 35 36 37 */ 38 39 40 //例3 41 Integer i1= 1; 42 Integer i2= 1; 43 Integer i3= 127; 44 Integer i4= 127; 45 Integer i5= 128; 46 Integer i6= 128; 47 System.out.println(i1 == i2); 48 System.out.println(i3 == i4); 49 System.out.println(i5 == i6); 50 //结果 true,true,false 51 //byte的范围:-128~127 52 53 54 //例4 55 byte b1 = 1; 56 b1 = b1 + 1;//byte+int 的结果是int类型,结果是损失精度,报错 57 } 58 }
时间: 2024-10-06 12:39:15