【java基础】数据类型转换

数据类型自动转换

long num1 = 100L;
System.out.println(num1);//100
  1. 当数据类型不一样时,会发生数据类型转换
  2. 代码不需要处理,自动完成,数据范围从小到大
  long num2 =100;
    System.out.println(num2);//左边是long类型右边是int类型
    //int-->long,即发生转换

    double num3 = 2.5F;//2.5
    //float-->double,从小到大
    System.out.println(num3);

    float num4 = 30L;
    System.out.println(num4);//30.0
    //long-->float

数据类型强制转换

    代码需要特殊格式处理,不能自动完成
    格式:【范围小的类型 范围小的变量名=(范围小的类型)范围大的数据】

注意事项:

  1. 不推荐使用,会发生数据精度丢失
  2. byte/short/char这三种类型可以发生数字运算
  3. boolean不能发生数据类型转换
// int num5 = 100L;会报错
// System.out.println(num5);
int num6 = (int)100L;//100L为long类型
System.out.println(num6);//long-->int
//int最高表示21亿
int num7 = (int)2200000000L;
System.out.println(num7);//-2094967296 数据溢出

//double-->int
int num8 = (int)3.999;
System.out.println(num8);//小数位会被舍弃掉

char zifu1 ='A';
System.out.println(zifu1+1);//66

byte num9 = 40;
byte num10 =50;
//byte+byte ————>int+int=int
int result1 = num9+num10;
System.out.println(result1);//90

short num11 = 60;
//byte+short-->int+int-->int
short result2 = (short)(num9+num11);
System.out.println(result2);//100
  • 计算机保存的数据都是二进制
  char zifu2 = '1';
    System.out.println(zifu2+0);//49
    char zifu4 = 'c';//ASCII c=99
    //左侧是char,右侧是int,char->int
    //自动转换
    int num12= zifu4;
    System.out.println(num12);//99
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

grapefruiit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值