1、基本数据类型的转换

一、基本数据类型

      基本数据类型,我们都知道有4类8种,数值型有byte、short、int、long,字符型char,布尔型true、false,浮点数有float、double。在存储空间中,1一个字节8位,然后数值型的4种数据类型分别占用存储空间1、2、4、8个字节;boolean布尔型true、false均占用1个字节,字符型char占用2个字节,浮点数float、double分别占用4、8个字节。口诀简记为 “1 2 4 8 ”。相比大家都知道进制的换算,也有一个口诀方法即8421法,这个在这里不赘述。

二、类型转换

       数据类型转换有2种方式,分别是自动类型转换(隐形转换)、强制类型转换。话不多说,直接看下面例子。

1、自动类型转换

public class DataChange {
    public static void main(String[] args) {
        //自动类型转换
        byte a = 10;
        int b = a;
        System.out.println(a);
        System.out.println(b);
    }
}

运行结果如下:

可以看出,2个结果相同,byte类型的变量a,赋值给int类型的变量b,由范围小的转换为范围大的,会自动转换,且不会丢失精度。

2、强制类型转换

转换前:

public class DateChange2 {
    public static void main(String[] args) {
        //强制类型型转换
        int a = 10;
        byte b = a;//这里已经报错,编译不会通过,需要进行强制类型转换
        System.out.println(a);
        System.out.println(b);
    }
}

转换后:

public class DateChange2 {
    public static void main(String[] args) {
       //强制类型型转换
        int a = 10;
        byte b = (byte)a; //强制类型转换,使用格式为(要转换后的类型)变量
        System.out.println(a);
        System.out.println(b);
    }
}

运行结果如下:

 基本数据类型转换时,当范围大的要转换为范围小的类型时,要使用强制类型转换,转换格式为: (dataType)variable

  dataType:表示要转换后的数据类型

  variable:  表示要转换的变量

3、当不同数据类型计算时,要进行数据转换,再举例如下:

public class DataChange3 {
    public static void main(String[] args) {
        byte c = 10;
        int d = 20;
        /*这里为什么要进行数据类型转换呢?那是因为不同数据类型计算时,都要先统一转换为范围大的数据类型,然后再计算。
        * 所以这里c和d类型不同,c先自动转换为int类型,然后与d相加,得到结果30,而这个30是int类型,要把int类型的30赋值给
        * byte类型的e,2个类型又不同,又需要先把30转换为byte类型,这是范围大的转换为范围小的,要使用强制类型转换
        */
        byte e = (byte) (c + d);
        System.out.println(e);
    }
}

运行结果为:

 4、注意事项:

     1)、在进行算术运算操作的时候,必须要求数据类型一致,否则无法操作

     2)、在运算过程中,如果两个值得类型不一致,会自动将小的类型转换为大的类型

     3)、在运算过程中,可以手动强制转换,将大的类型转换为小的类型

     4)、强制转换,会发生精度损失,结果可能不准确

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值