数据转换

  1. 基本数据类型转换
    boolean类型不可以转换为其他的数据类型
    整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
    容量小的类型自动转换为容量大的数据类型;数据类型按容量大小排序为:
    byte,short,char->int->long->float->double
    byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型
    容量大的数据类型转换为容量小的数据类型时,要加上强制转换符.但可能造成精度降低或溢出;使用时要格外注意
    有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算
    实数常量默认为double
    整数常量默认为int

  1. publicclassTestConvert{
  2. publicstaticvoidmain(Stringarg[]){
  3. inti1=123;
  4. inti2=456;
  5. doubled1=(i1+i2)*1.2;//系统将转换为double型运算
  6. floatf1=(float)((i1+i2)*1.2);//需要加强制转换符
  7. byteb1=67;
  8. byteb2=89;
  9. byteb3=(byte)(b1+b2);//系统将转换为int型运算,需
  10. //要强制转换符
  11. System.out.println(b3);
  12. doubled2=1e200;
  13. floatf2=(float)d2;//会产生溢出
  14. System.out.println(f2);
  15. floatf3=1.23f;//必须加f
  16. longl1=123;
  17. longl2=30000000000L;//必须加l
  18. floatf=l1+l2+f3;//系统将转换为float型计算
  19. longl=(long)f;//强制转换会舍去小数部分(不是四舍五入)
  20. }
  21. }
    1. publicclassTest{
    2. publicstaticvoidmain(Stringargs[])
    3. {
    4. inti=1,j;
    5. floatf1=0.1;//出错0.1是double
    6. floatf2=123;//
    7. longl1=12345678;
    8. longl2=8888888888;//有问题,超出
    9. doubled1=2e20;//没问题
    10. doubled2=124;//
    11. byteb1=1;
    12. byteb2=2;
    13. byteb3=129;//有问题
    14. j=j+10;//j没值
    15. i=i/10;//没问题,i=0
    16. i=i*0.1;//有问题0.1是double
    17. charc1='a';
    18. charc2=125;
    19. byteb=b1-b2;//有问题b1,b2先转换为int
    20. charc=c1+c2-1;//有问题
    21. floatf3=f1+f2;
    22. floatf4=f1+f2*0.1;//有问题0.1是double
    23. doubled=d1*i+j;
    24. floatf=(float)(d1*5+d2);
    25. }
    26. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值