java初学之运算的隐式转换

附上代码:

package com.wy.csdn;

/**
 * 数值运算之算数运算符
 */
public class Test2 {
    public static void main(String[] args) {
        /**
         * 例一:
         */
        int a = 10;
        double b = 12.5;
        System.out.println(a+b);

        /**
         * 例二
         */
        byte x  =10;
        byte y = 10;
        System.out.println(x+y);
    }
}

有人说了,这也没什么,确实没什么,就是个加法,可你知道它是怎么计算的吗?

我们都知道在java中,基本数据类型的取值范围大小排序为

byte  <  short   < int   <   long  <  float  < double

由此我们可以得出:隐式转换的两种规则:

如下:

1.取值范围小的和取值范围大的进行运算,小的会先提升为大的,再进行运算

这里就是 将a转变为double类型,再和b进行加法,此时如果将a+b赋值给c时候,c的数值类型就是double

2.byte、short、char 三种类型的数据在进行运算时,都会先提升为int类型,再进行运算

这里的例2就是,两个byte类型的数值在进行相加时候,会首先变为int类型,如果将x+y赋值给c时候,c的数据类型应为int

隐式转换总结:

1.取值范围:byte  <  short   < int   <   long  <  float  < double

2.什么时候进行转换:

数据类型不一致时,不能进行计算,需要转成一样的才可以计算

3.转换规则1:

取值范围小的,和取值范围大的进行计算,小的会先提升为大的,再进行运算

4.转换规则2:

byte、short、char三种数据进行运算时,先提升为int,再进行运算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

�呱呱

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

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

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

打赏作者

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

抵扣说明:

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

余额充值