类型转换

类型转换

低------------------------------------------------->高

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

public static void main(String[] args) {
    int i =128;
    double b=i;//内存溢出
    //强制转换 (类型)变量名  高--低
    //自动转换  低--高
    System.out.println(i);
    System.out.println(b);
    /*
    1.不能对布尔值进行转换
    2.不能把对象类型转换为不相干的类型
    3.在把高容量转换到低容量的时候强制转换
    4.转换的时候可能存在内存溢出或者精度问题
    * */
    System.out.println("===============================");
    System.out.println((int)23.5);//23
    System.out.println((int)-45.89f);//-45

    System.out.println("===============================");
    char c = 'a';
    int d =c+1;
    System.out.println(d);//98
    System.out.println((char)d);

    //操作比较大的时候,注意溢出问题
    //JDK7新特性,数字之间可以用下划线分割
    int money = 10_0000_0000;
    System.out.println(money);
    int years = 20;
    int total =money * years;
    System.out.println(total);//计算时溢出了
    long total1 =money * years;//默认是int,转换的时候已经溢出了
    long total2 =money * ((long)years);
    System.out.println(total2);

    //L  可以用l但容易错认为1
上一篇:Java类型转换


下一篇:RESTful API 设计参考文献列表,可帮助你更加彻底的了解REST风格的接口设计。