JAVA 数据类型及其转换

数据类型

  1. 强数据类型

    要求所有变量必须先定义后使用

  2. 弱数据类型

    变量不需要定义也可使用

java的数据类型分为两类

  1. 基本类型(primitive type)

    基本类型包括数值类型和布尔类型

    数值类型有整数型有int,short,long分别占4,8,2个字节,浮点型有float和double分别占4,8个字节,以及字符类型占两个字节。

    布尔类型分为True和false(分别占一位)

  2. 引用类型(reference type)

    引用类型分为类,接口和数组

类型转换

由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

  1. 强制类型转换,从高到低

    低数据类型 byte,short,char->int->long->float->double 高数据类型

    其中是按各数据类型大小划分的比如int占四个字节,long占八个字节所以long高于int,高数据类型转换为低数据类型叫做强制类型转换

    int a = 128;
    byte b = (byte)a;
    此时b不等于a将int类型强制转换为byte,由于byte类型取值范围为-127-127,所赋值超出了范围,产生内存溢出,故会使b输出错误
  2. 自动类型转换

    自动类型转换是低数据类型转换到高数据类型

    long a = 15422;
    int b = a;
    此时b=a,正常输出。
    ​
    ​
  3. 注意事项

    当高数据类型转换为低数据类型是,一定要注意数据溢出的情况

    int money = 10_000_000;
    int year = 20;
    int total = money*year;//-147483680,此时输出int数据类型产生溢出
    long total = money*year;//虽然是低类型自动转换为高数据类型,转换之前就出现问题了
    long total2 = money*((long)year);// 先把一个数转换为long,正确输出
    ​

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值