数据类型转换:
有的时候,程序需要将数据类型,比如 int + float ,结果是float, 这里的int就被转换为float类型,属于合法转换。
Java中的合法转换如下图:

红色表示无信息丢失的转换,橙色表示可能有进度损失的转换。
package testbotoo;
public class shuzhileixingzhuanhuan {
    
    public static void main(String[] args){
        
        int n = 123456789;
        float f = n;        //int类型转换为float类型
        System.out.println(f);
        //强制类型转换
        double x = 9.9997;
        int nx = (int) x ; //强转操作,这样就能截断小数部分 nx = 9
        
        //当然我们也可以进行舍入运算,用到的是Math.round()方法
        double x1 = 9.9997;
        int nx1 = (int) Math.round(x1);
        System.out.println(nx1);
        
        //运算级别
        a && b || c 等价于  (a && b) || c
        a += b += c 等价于   a += (b += c)
        运算级别如下图所示:
        
        
    }
}
转换规则:
*如果两个操作数中有一个是double类型,另一个操作数就会转换为double类型
*否则,如果其中一个操作数是float类型,另一个操作数将会转换为float类型
*否则,如果其中一个操作数是long类型,另一个操作数将会转换为long类型
*否则两个操作数都将被转换为int类型摘自:《java核心技术》3.5.5
强制换换:
double x = 9.9997;
int nx = (int) x ; //强转操作,这样就能截断小数部分 nx = 9
        
//当然我们也可以进行舍入运算,用到的是Math.round()方法
double x1 = 9.9997;
int nx1 = (int) Math.round(x1);
System.out.println(nx1);
运算符的级别:
        a && b || c 等价于  (a && b) || c
        a += b += c 等价于   a += (b += c)
如下图所示:
