数据类型转换:
有的时候,程序需要将数据类型,比如 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)
如下图所示:
原文地址:https://www.cnblogs.com/botoo/p/8478568.html
时间: 2024-10-07 17:54:14