作者: 0f3e6c40735f | 来源:发表于2018-02-13 01:34 被阅读0次

          基本数据类型(Primitive Data Type):8种。

            1) 整型

            byte 1B 8位 -128到127

            short 2B 16位 -2^15到(2^15)-1

            int 4B 32位 -2^31到(2^31)-1

            long 8B 64位 -2^63到(2^63)-1

            2) 浮点类型

            float 4B 32位

            double 8B 64位

            3) 字符类型

            char 2B 16位

            4) 布尔型 1B

            boolean false/true

            引用数据类型(Reference Type):

            类、接口、数组

            引用类型 变量名 = new 引用类型名(参数); //new后面一般跟的都是类的构造器

            成员:写在类体括号里面的

            需要注意的问题:

            1、Java中的自动类型提升问题。

            正向过程:从低字节到高字节可以自动转换。

            byte->short->int->long->float->double

            逆向过程:从高字节到低字节用强制类型转换。

            例:int a = (int)4.562;

            注:逆向转换将丢失精度。

            2、boolean:只有true和false。

            3、char:Java中用" \u四位十六进制的数字 (即使在注释中出现\u,后面如果跟的不是4个数字,也会报错)"表示将字符转换成对应的unicode编码,字符类型要用单引号括起来。

            4、黙认浮点类型为double,float数据类型有一个后缀为"f"或"F"。

            5、long类型有一个后缀,为"l"或者"L"。

           自动类型提升

            byte a = 1;

            byte b = 2;

            a = a + b; //编译出错自动类型提升成int

            a += b; //自加没有自动类型提升问题

            类型自动提升规则:

            a和b作某种运算:

            a和b中有double,结果就是double。

            a和b中有float,结果就是float。

            a和b中有long,结果就是long。

            除此之外,结果都是int。

            把高字节转成低字节,需要作强制类型转换:byte c =(byte)a + b。

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/lnzdtftx.html