Java教程

JAVA基础语法-类型转换

本文主要是介绍JAVA基础语法-类型转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JAVA基础语法-类型转换

  • 由于JAVA是强类型语言,所以要进行有i额运算的时候,需要用到类型转换

  •  

  • 运算中,不同类型的数据先转化为同一类型,然后进行预算。

  • 强制类型转换:高到低需要强制

  • 自动类型转换:低到高自动转换就可以

public class dome04 {
    public static void main(String[] args) {
        int i=128;
        byte b=(byte) i;//数据不一,内存溢出
        //这属于是强制转换 (类型)变量名 从高--低需要强制转换
        //自动转换 从低--高
        double c=i;//输出成为小数,因为double比int级别高,这属于是自动转换
        /*
        * 注意点:
        * 1.不能对布尔值进行转换
        * 2.不能把对象类型转换为不相干的类型,通俗一点讲不能把一个人变成猪,但是可以把男人变成女人
        * 3.在把大容量转换到低容量的时候需要强制转换
        * 4.转换的时候可能存在内存溢出,或者精度问题*/
        System.out.println("============");
        float d=23.7f;
        double e=45.89;
        System.out.println((int) d);//输出为23,精度存在问题
        System.out.println((int)e);//输出为45,精度存在问题
        System.out.println(c);
        System.out.println(i);
        System.out.println(b);
        System.out.println("===================");
        char f='a';
        int g=f+1;
        System.out.println(g);//输出出来是数字,因为char本身有Unicode编码表,也是由数字组成的。
        System.out.println((char)g);//强行转换,输出字母,因为char本身有Unicode编码表,也是由数字组成的。
        System.out.println("====================");
        //操作比较大的时候,注意溢出问题
        int money=10_0000_0000;//数字之间可以用下划线分割,方便查看。
        int years=20;
        int total=money*years;
        System.out.println(total);//输出结果为负数,计算溢出
        long total2=money*years;
        System.out.println(total2);//输出结果没有变化,计算溢出,默认是int,转换之前已经存在问题了?不能这样去做!
        long total3=money*((long)years);//先把一个数转换为long
        System.out.println(total3);//输出结果正确,先把一个数转换为long
​
    }
}

 

这篇关于JAVA基础语法-类型转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!