[Java基础]基本类型的类型转换

        不同类型之间的数据可以互相转换,但是要满足一定的规则

1.转换规则

大小看基本类型的长度

转换规则

        需要注意的一点是,虽然short和char都是16位的,长度是一样的,但是彼此之间,依然需要进行强制转换。c = (char) s;

2. 高精度向低精度转换

byte b = 5;
int i1 = 10;
int i2 = 300;
b = i1;
b=i2;
 


        b的类型是byte,其长度是8,最大只能放127,i1 的类型是int, 其长度是32,最大,反正就是很大了,超过127,所以, 把int类型的数据转成为byte类型的数据,是有风险的,有的时候是可以转换的,比如 b = i1 (i1=10);

        有的时候不可以转换 比如 b= i2 (i2=300) 因为放不下了,编译器就会提示错误。
这个时候就只能采用强制转换,强制转换的意思就是,转是可以转的,但是不对转换之后的值负责。 风险自担,后果自负

高精度向低精度转换

3.小练习

short a = 1;
short b = 2;
那么 a+b 是什么类型?

        整型和整型进行运算的时候,如果两边的值都是小于或者等于int的,那么其结果就是int。

4.类型的自动提升与强制转型

Java之整数运算

        在运算过程中,如果参与运算的两个数类型不一致,那么计算结果为较大类型的整型。例如,shortint计算,结果总是int,原因是short首先自动被转型为int

public class Main {
    public static void main(String[] args) {
        short s = 1234;
        int i = 123456;
        int x = s + i; //s自动转换为int
        short y = s + i;//编译错误
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值