类型转换


由于Java是强类型语言 所以要进行有些运算的时候 需要用到类型转换
低------------------------------->高
byte short char->int-> long-> float -> double
运算中,不同类型的数据先转化为同一类型,然后进行运算。!public class DEMO04 {
public static void main(String[] args) {
int i = 128;
double b = i;

    //强制转换  (类型)变量名  高--低
    //自动转换  (类型)变量名  低--高
    System.out.println(i);
    System.out.println(b); //结果是128 -128 内存溢出
    /*
    1.注意点;不能对布尔值进行转换
    2.不能把对象类型转换成不相干的类型
    3.在把高容量的转换成低容量的时候,不需要强制转换
    4.转换的时候可能存在内存溢出,或者精度问题!
     */

    System.out.println("====================");
    System.out.println((int)23.7);
    System.out.println((int)-45.89f );//23 -45 输出结果精度问题


    System.out.println("====================");
    char c = 'a';
    int d = c+1;
    System.out.println(d);
    System.out.println((char) d); //98 b 输出结果

}

public class DEMO05 {
public static void main(String[] args) {
//操作比较大的数字的时候注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 10000_00_000;
int years =20;
int total = moneyyears;//-1474836480 计算溢出
long total2 = money
years;//默认是int,转换之前就存在问题了?

    long total3 = money*((long)years);//先把一个数转换成long
    System.out.println(total3 );

    //L l小写的l会被误认为1 建议用大写的L代替