Java 基本数据类型之间的运算规则

 1 /***
 2  * 基本数据类型之间的运算规则
 3  * 
 4  * 前提:7中基本数据类型运算
 5  *
 6  * 1.自动类型提升:
 7  *   当容量小的类型与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型
 8  *   byte、char、short->int->long->float->double 
 9  *      
10  *      特别的byte,char,short,做数据类型运算是,数据类型为int
11  * 
12  * 2.强制转换类型:自动类型提升的逆运算
13  *   1.需要使用强转符
14  *   2.可能会导致损失精度
15  *   
16  * 
17  * 
18  */
19 
20 public class  HelloWorld{
21 
22     public static void main(String[] args) {
23         // TODO Auto-generated method stub
24         
25         char c2 = '\u0043';            //Unicode   字符编码集
26         System.out.println(c2);        //C
27 
28         byte b1 = 2;
29         int i1 = 12;
30         int i2 = b1+i1;
31         System.out.println(i2);
32         
33         float f2 = b1 + i1;
34         System.out.println(f2);
35         
36         short s1 = 123;
37         double d1 = s1;
38         System.out.println(d1);
39         
40         //*********************************
41         char c1 = 'a';
42         int i3 = 10;
43         int i4 =c1 + i3;
44         System.out.println(i4);
45         
46 
47         //强制转换    一下会损失精度
48         double dd1 = 12.9;
49         int ii1 = (int) dd1;
50         
51         System.out.println(ii1);
52         
53         
54         int ii2 = 1000;
55         byte bb2 = (byte)ii2;
56         System.out.println(bb2);
57         
58         
59         long l1 = 13555;
60         System.out.println(l1);
61         
62         //long 12= 1235641346321545;    //过大的整数
63         //System.out.println(l2);
64         
65         //float f1 = 12.3;        //不加f,就失败 了
66         
67         
68         //整形常量 默认为int 型
69         //浮点型常量 默认为 double 型
70         byte b5 = 12;
71         //byte b6 = b5+1;   //编译失败
72         
73         //float f6 =  b5 +12.3; //编译失败
74         //float f8 = 12.3f;
75         float f9 = b5 + 12.3f;
76         float f7 = b5 +(float)12.3;   //这样是可以的
77             
78         double  f6 = b5 +12.3;
79         System.out.println(f6);
80         System.out.println(f7);
81         System.out.println(f9);
82         
83         
84         
85         
86     
87         
88 
89     }
90 
91 }

 

posted on 2021-08-25 12:21  Bytezero!  阅读(101)  评论(0编辑  收藏  举报