java类型精度及转换运算

目录

一、类型精度

二、数据类型转换


一、类型精度

低---------------------------------------->高

byte short char int long float double


二、数据类型转换

  • 当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。

    float a = 100;            //输出的值为100.0
  • 当把级别高的变量的值赋给级别低的变量时,必须使用类型转换运算。格式如下: (类型名)要转换的值

    int a = (int)100.0;
    long b = (long) 66.6F;
    int c = (int)99.99L;

    类型转换运算的结果的精度可能低于原数据的精度。

1.当把一个int型常量赋值给一个byte、short和char型变量时,不可超出这些变量的取值 范围,否则必须进行类型转换运算。

例如:byte型变量的取值范围是-2^7 ~ 2^7-1。

byte a = (byte)-129;
byte b = (byte)128;
byte c  = 127; //无需强制转换,在byte变量的取值范围内
输出结果:
127     -128       127

2.y=(byte)x是正确的,而y=x是错误的。编译器不检查变量x的值是多少,只检查x的类型。

int a = 1;
byte b;
b = a \\报错,int无法转换为字节
b = (byte)a;

3.一个常见的错误是在把一个double型常量赋值给float型变量时没有进行类型转换运算。

float a = 100.0; \\报错float无法转换为double(因为double类型后的D,d可以省略,float后的F或f必须存在,常常会被忘记)
**方法一**
float a = 100.0F;
**方法二**
float a = 100.0f;
**方法三**
float a =(float)100.0;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值