Java基础—基本数据类型,类型转换

八大基本数据类型:

  1. byte占8位(1个字节)取值范围是-2七次方到2的七次方-1
  2. short占16位(2个字节)取值范围是-2的十五次方到2的十五次方-1
  3. int 32位(4个字节)取值范围是-2的三十一次方到2的三十一次方-1
  4. Long:64位(8个字节)取值范围是-2的63次方到2的63次方-1
  5. float32位(4个字节)单精度浮点数
  6. double64位(8个字节)双精度浮点数
  7. char字符型
  8. Booleantrue和false

默认类型:

        在Java中,整数类型(byte/short/int/long)中,对于未声明数据类型的整形,其默认类型为int型。
        在浮点类型(float/double)中,对于未声明数据类型的浮点型,默认为double型。

自动类型转换:

       当将一个数值范围小的类型赋给一个数值范围大的数值型变量,
        jvm在编译过程中俊将此数值的类型进行了自动提升。

比如(byte—short—int—lang)的时候,会自动类提升,就是
        在数值类型的自动类型提升过程中,数值精度至少不应该降低
        (整型保持不变,float->double精度将变高)。

自动类型转换也叫隐士类型转换,在赋值的时候,Java会默认把整形类型看成是int类型的数,由于int类型比byte类型的取值范围要广泛,所以需要在byte类型的取值范围只能才能成功赋值,否则必须使用强制类型转换,不然将报错。其他的也一样,当给long类型赋值的时候,由于long类型的取值范围比int类型范围要大,所以当赋值的值大于int的取值范围的时候可以在后面加上一个L表示这是一个long类型的数

强制类型转换

大范围大的类型转为范围小的类型时候,就需要强制类型转换

     还有就是当给byte赋值的时候,赋值的值大于了byte的取值范围,就可以使用强制类型转换,注意:强制类型转换可能会造成精度缺失的问题,

表达式类型自动提升

     当两个byte类型的变量在运算期间类型会自动提升为int类型在进行转换,所以要在运算完成后早用强制转换为byte类型,当两个int类型进行运算时,只能得到int类型,和浮点数进行运算得到的就是浮点数,最后结果的类型是会根据精度高的来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值