java类型转换

类型转换:

/*
     +: 加法

     类型转换:
        注意事项:当且仅当大类型可以转换为小类型数据时, 才进行转换否则会造成精度损失

        优先级 byte < short < int
              char < int

              int < long < float < double
        隐式类型转换 也叫(自动)类型转换:  小类型转换大类型, 自动提升为大类型, 运算结果是大类型 ---> 小到大的关系
        数据类型范围从小到大如下:
            byte -> short -> char-> int(默认整形) -> long -> float -> double(默认浮点数)
            boolean类型不参与比较, 它的值只有true和false两个,



        强制类型转换 也叫(手动)类型转换:  手动将大类型转换为小类型, 运算结果为小类型     ---> 大到小的关系
        转换格式: 小类型 变量名 = (小类型)大类型数据;
                 目标类型 变量名 = (目标类型)要转换的值
        注意: 强制类型转换在使用的时候可能会出现丢失精度的问题
 */

public class ConversionDemo {
    public static void main(String[] args) {
        // 定义两个变量
        int a = 10;
        int b = 20;
        System.out.println(a+b);

        // 我可以把a+b的结果进行输出, 说明这样的就散是没有问题的 那么我可以把结果接受一下
        int c = a + b;
        System.out.println(c);
        System.out.println("------------------------------------------");

        // 定义一个int类型的数据 和 一个byte类型的数据
        int aa = 10;
        byte bb = 20;
        System.out.println(aa + bb); // 自动升级

        // byte cc = aa + bb; // 为什么 会报错? byte类型和int类型计算, 会先将byte类型提升为int类型计算,结果也是int类型
        int cc = aa + bb;
        System.out.println(cc);
        System.out.println("------------------------------------------");

        // 思考:我就想用byte类型变量接受aa+bb 怎么办? 可以通过强制类型转换实现
        // 目标类型 变量名 = (目标类型)(要转换的值)
        byte dd = (byte)(aa + bb); // aa+bb的结果是一个int类型, 然后将其强制转换类型为byte类型
        System.out.println(dd);

        System.out.println("------------------------------------------");
        
        double d1 = 3.14;
        int a1 = (int)(d1); // 意思是: 将double类型的结果强制类型转换为整数
        System.out.println(a1);
    }

}

总结:

类型转换:
	1. 类型转换的分类:
		自动(隐式)类型的转换;
			小类型转大类型, 自动提升为大类型, 运算结果是大类型
		强制(显式)类型转换;
			手动将大类型转换为小类型, 运算结果为小类型
			小类型 变量名 = (小类型)大类型数据;
	2. 注意:
		当且仅当大类型的数据可以转换为小类型时, 才进行转换, 否则会造成精度丢失.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值