Java基础学习之八大基本变量

时间:2021-08-12 17:26:34

      说到Java中变量,很多人会想到汉语中的代词,当然,这种理解我也是很支持滴!Java基础学习之八大基本变量那么再说的具体点,我比较喜欢用“他”或者“她”来解释变量,就像我们生活中总是会向“他”述说“她”或向“她”述说“他”.....(好啰嗦!),但是,这个“他”或“她”从来没有固定不变地指明就是“小明”或“小红”,也就是说他所指向的人是在一直变换的,而这个“他”或“她”在Java中或者其他语言中就可以理解为变量。

      跑题了啊,那么现在说说Java中的8种基本数据类型,分别是byte,short,int,long,float,double,char,boolean。

     byte:字节型,1个字节(8位),最大表示范围-128~127

     short:短整型,2个字节(16位)最大表示范围-2^15~2^15-1

     int:整型,4个字节(32位),最大表示范围-2^31~2^31-1

         1)整数直接量(Java程序的整数)默认为int型,不能超范围,否则会编译错误;

         2)两个整数相除,结果还是整数,小数位无条件舍弃;

         3)运算时超出范围会发生溢出,溢出是需要避免的。

     long:长整型,8个字节(64位),最大表示范围-2^63~2^63-1

        1)长整型直接量为在数字后加l或L;

        2)算数运算时有可能超范围,建议在第1个数字后加L

     float:浮点型(单精度),4个字节(32位),在普通数据存储中由于float型数据精度不够,所以很少使用。

    double:浮点型(双精度),8个字节(64位),很大很大很大

        1)浮点数直接量默认为double型,精度是float的俩倍,表示float型需加f或F

        2)double型数据运算时,可能会发生舍入误差。比如在计算1/10或3.0-1.9。

     char:字符型,2个字节(16位),最大表示范围0~65535

        1)采用Unicode编码,每个字符(char)都有一个对应的码(int)

            表现形式为char字符,实质上是int码

        2)字符必须放在单引号中,有且仅有一个

        3)特殊符号需通过\来转义

     boolean:布尔型,1个字节(8位)

       1)只能取值为true和false

     当然,这8种基本的数据类型之间是可以相互转换的,下面说转换的方式和规则:

    类型从小到大依次为:

      byte,short,int,long,float,double

           char和int并列。

   1)两种方式:

    1.1)自动类型转换:从小类型到大类型

    1.2)强制类型转换:从大类型到小类型。强转有可能会溢出和精度丢失,比如将double型的2.345转换为int型的,结果为2,精度丢失,同样将double型的2147483648转换为int型的,结果为-1,溢出。

   2)两点规则:

    2.1)整数直接量可以直接赋值给byte,short,char,但不能超范围

    2.2)byte,short,char型变量参与运算时,先一律转为int再运算