Java基础笔记07——类型转换

1.自动类型转换(隐式类型转换)

(1)满足条件:

1)两种类型彼此兼容
2)取值范围小的转取值范围大的

(2)规则:

1)boolean不可以转为其他的数据类型
2)byte、char、short之间不会相互转换,但三者在计算时首先转换为int
3)int、char、float、double相互转换时,遵循以下原则:

 

2.强制类型转换(显式类型转换)

(1)满足条件:

1)两种类型彼此不兼容
2)取值范围大的转取值范围小的

(2)风险:

1)精度下降
2)数字溢出
package com.lqh.chapter01;

public class _04TypeCasting {
    public static void main(String[] args) {
        byte a1 = 110;
        byte a2 = 120;
        int a = a1 + a2;// a1和a2在进行计算时首先转换为int类型,所以结果为int类型
        System.out.println(a);
        short b1 = 250;
        int b = b1;// 自动类型转换
        System.out.println(b);
        int c1 = 127;
        int c2 = 129;
        byte c = (byte) c1;// 强制类型转换,c1的值在byte取值范围内,所以强制类型转换后没有数据丢失
        System.out.println(c);
        c = (byte) c2;// 强制类型转换,c2的值不在byte取值范围内,所以强制类型转换后有数据丢失
        System.out.println(c);
    }
}

输出结果为:

230
250
127
-127

posted @ 2021-09-09 19:53  `青红造了个白`  阅读(50)  评论(0编辑  收藏  举报