JAVA的基本数据类型

时间:2022-01-03 14:53:41

一、JAVA的基本数据类型

        1、整型: byte                     1

                           short                    2

                            int                        4

                            long                     8

         (1)后边的数字代表占得字节数。

         (2)默认整型为int。

        2、浮点型:

                      float :         单精度         4

                      double:  双精度         8

            (1)默认浮点型为double。

         3、字符型:

                     char:         2

         4、布尔型:

                     boolean      1

二、数据类型之间的转换

      1、默认转换:

            (1) byte、short、char之间不进行转换

            (2) 从小到大转换:byte、short、char->int->long->float->double

             (3)boolean不参与数据类型之间的转换

      2、强制转换:

           (1)从大到小转换:double->float->long->int->char、short、byte

           (2)一般不建议使用强制转换,因为强制转换可能损失精度

            (3)强制转换溢出

                      例:byte a = (byte)130;

                      由于byte类型的表示范围是-128~127,而130不在这个范围之内,程序又进行了强制转换,相当于只截取了130二进制数的后八位,

                      在计算机中存储的是数据的补码,而我们看到的是原码,所以需要将补码转换为原码才能得到结果。

                   原码、补码、反码之间的转换:

                            a:它们表示的都是有符号为的数。

                            b:正数的原码、补码、反码是一样的。

                            c:负数:符号为固定为1

                                     有原码转为补码:符号为不变,其他位取反,得到反码,给反码加1,得到补码。

三、数据之间的运算

      (1)常量运算:在编译时运算赋值;

                例: byte b1;

                          b1 = 1+2;

                          在计算机里面存储是直接是   b1 = 3;

                变量运算:在运行时运算赋值。

               例: byte b1=1,b2=2,b3;

                        b3 = b1+b2;

                        在计算机里存储是: b3 = b1+b2;

       (2)不同类型数据之间运算,先默认转换类型,再运算。

               例:byte a = 1,b ;

                        int  c = 2,d;

                       d = a+c;

                      在进行运算前,计算机先将a默认转换为int类型的,然后再和c相加。

                       b = a+c;

                      在编译时期就会报错,提示有可能损失精度。

         (3) byte a=1,b=2,c;

                   c = a+b;

                    在编译时也会报错,原因是计算机 先默认将a和b转换为int类型,然后相加,赋值给c,而c确实byte类型的,所以编译时会报错。