Java教程

类型转换学习笔记

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

类型转换

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

低--------------------------------------->高
byte,short,char->int->long->float->double

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

强制类型转换

自动类型转换

public class Demo03 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;//内存溢出
        double c = i; //不改变
        //强制转换 (类型)变量名    高--低
        //自动转换  低--高
​
        System.out.println(i);
        System.out.println(b);
        System.out.println(c);
        /*
        注意点
        1.不能对布尔值进行转换
        2.不能把对象转变为不相干的东西
        3.在把高容量转换为低容量的时候,强制转换
        4.转换的时候可能存在内存溢出,或是精度问题!
         */
        System.out.println("===========================");
        System.out.println((int)23.4);//23
        System.out.println((int)-45.89f);// -45
        System.out.println("==============================");
        char d = 'a';  //a=97
        int e = d+1;
        System.out.println(e);
        System.out.println((char)e);//强制转换  99=b
    }
}
​

 

注意事项

public class Demo04 {
    public static void main(String[] args) {
     //操作比较大的数字时,注意溢出问题
     //JDk7新特性,数字之间可以用下划线分割
     int money = 10_0000_0000;// 下划线分割
     int years = 20;
     int tota1 = money*years;//-1474836480,计算的时候溢出了
     long tota2 = money*years;//默认是int,转换之前已经存在溢出问题了
     long tota3 = money*((long)years);//先把一个数转换为long
     System.out.println(tota2);
     System.out.println(tota3);
    }
}
控制台输出
-1474836480
20000000000

 

这篇关于类型转换学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!