运算(float与double、隐式类型转换)

float 与 double

Java 不能隐式执行向下转型,因为这会使得精度降低。

4.5字面量属于 double 类型,不能直接将 4.5 直接赋值给 float 变量,因为这是向下转型。

float f = 4.5;   //错误写法

4.5f 字面量才是 float 类型。

float f = 4.5f;  //正确写法
		float f = 4.5f;
        double d1 = 456.456;
        double d2 = f;  //低精度向高精度
        f = (float) d1;  //高精度向低精度进行了向下转型

隐式类型转换

因为字面量 2 是 int 类型,它比 short 类型精度要高,因此不能隐式地将 int 类型向下转型为 short 类型。

 		short s = 2;
        //s = 1+s;  //idea会提示你进行强制转换

但是使用 += 或者 ++ 运算符会执行隐式类型转换。

		s += 1;
		s++;
		//非隐式转换
		s = (short) (1+s); //需要进行强制转换
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值