小白云学java|类型转换的那些“潜规则”

hi,我是小白云Casy,这是我的java学习笔记。

今天学到了一个知识点:java数据类型的自动转换,从低到高转换的。由此我产生了好奇,除了这样转换,还有那些“潜规则”?

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

byte,short,char—> int —> long—> float —> double 

下面来写代码看看怎么玩儿的吧!

  1. 自动类型转换
    规则:

必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。


public class DataTypeAutoTrans{
    public static void main(String[] args){
        char c1='a';//定义一个char类型
        int i1 = c1;//char自动类型转换为int
        System.out.println("char自动类型转换为int后的值等于"+i1);
        char c2 = 'A';//定义一个char类型
        int i2 = c2+1;//char 类型和 int 类型计算
        System.out.println("char类型和int计算后的值等于"+i2);
    }
}

运行结果:
在这里插入图片描述
完成了char到jint的自动转换。

  1. 强制类型转换

规则:

  1. 条件是转换的数据类型必须是兼容的。
  2. 格式:(type)value type是要强制类型转换后的数据类型 实例:
public class DataTypeMustTrans{
    public static void main(String[] args){
        int i1 = 123;
        byte b = (byte)i1;//强制类型转换为byte
        System.out.println("int强制类型转换为byte后的值等于"+b);
    }
}

运行结果:
在这里插入图片描述

3.悄悄告诉你----
隐含强制类型转换

1. 整数的默认类型是 int。

2. 浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。

末尾比喻式总结:

1.自动类型转换:段位(位数)要是自下而上的转换,就好像小白升级一样,升到一下个段位,就不能降级了哦,只能努力向上走!
2.强制类型转换:强行把你掰成我要的样子。

类型的转换的这些“潜规则”都记下来了,以后用的时候,得遵循呀,忘记了也可以回来查一查,加油呀!小白云

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值