Java面试(3)-- Java关系运算符

 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 }

 

posted @ 2016-02-17 19:43  platycoden  阅读(366)  评论(0编辑  收藏  举报