JAVA基本数据类型之间互转

JAVA基本数据类型之间互转

 package JAVA_Project_01_02;

public class BasicTypeChange {//修饰基本数据类型
    private void typeAutoUpgrade(){//基本类型的自动提升
        byte b=44;
        char c='b';
        short s=1024;
        int i =40000;
        long l =124631;
        float f=35.67f;
        double d=3.1234d;
        //result声明为其他类型会出错,除非进行类型转换
        double result=(f*b)+(l*f)+(i/c)-(d*s);
        System.out.println("结果:"+result+"=");
        System.out.println((f*b)+"+"+(l*f)+"+"+(i/c)+"-"+(d*s));//输入经过运算获得的结果
    }
    private  void autoChange(){//基本类型的自动转换
        char c='a';
        byte b=44;
        short s0=b;
        int i0=s0;
        int i1=c;
        long l=i0;
        float f=l;
        double d=f;
        float fl=1.7f;
        double dou=fl;
        System.out.println("fl="+fl+";dou="+dou);
        //一个数从一种类型转换成另外一种类型,再转换回来时,值还是一样的
        fl=(float)dou;
        System.out.println("fl="+fl+";dou="+dou);
    }
    private void forceChange(){//强制类型转换
        double d=123.456d;
        float f=(float)d;//将double类型强制转换成float
        long l=(long)d;//double类型强制转换成long
        int i=(int)d;//将double类型强制转换成int
        short s=(short)d;//将double类型强制转换成short
        byte b = (byte) d;//将double类型强制转换成byte
        System.out.println("d="+d+";f="+f+";l="+l);
        System.out.println(";i="+i+";s="+s+";b=+b");
        d=567.89d;
        //下面的转换首先进行截断操作,将d的值变为567,因为567比byte的范围256还大,
        //于是进行取模操作,567对256取模后的值为55
        b=(byte)d;
        System.out.println("d="+d+";b="+b);
    }
    public static void main(String[] args) {//java程序主入口方法
        BasicTypeChange change=new BasicTypeChange();//实例化对象
        change.typeAutoUpgrade();//调用基本类型的自动提升方法
        change.autoChange();//调用基本类型的自动转换方法
        change.forceChange();//调用强制类型的自动提升方法
    }
}
//typeAutoUpgrade方法演示了基本数据类型的数据在进行运算时,其类型会自动进行提升,并对自动提升规则进行了说明
//autoChange方法演示了基本数据类型的自动转换,以及自动转换发生的条件。当某些float类型的数据自动转换成double类型时,会出现前后不相等的情况,这是由该数不能够用有限的二进制位精确表示造成的
//forceChange方法演示了何时进行强制类型转换,以及如何进行强制类型转换。在强制类型转换过程中会损失一定的精度。
发布了70 篇原创文章 · 获赞 10 · 访问量 3215

猜你喜欢

转载自blog.csdn.net/JN_Cat/article/details/102507887