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 }