一 、 自 动 类 型 转 换
整 型 、 实 型 、 字 符 型 数 据 可 以 混 合 运 算 。 运 算 中 , 不同类 型 的 数 据 先转 化 为 同 一 类 型 ,然 后 进 行 运 算 。 转 换 从低 级 到 高 级 ,如 下 图:
转 换 规 则 为 :
① (byte或 short) op int→ int
② (byte或 short或 int) op long→ long
③ (byte或 short或 int或 long) op float→ float
④ (byte或 short或 int或 long或 float) op double→ double
⑤ char op int→ int
其 中 ,箭 头 左 边 表 示 参 与 运 算 的 数 据 类 型 ,op为 运 算 符 (如加、 减 、 乘 、除 等 ),右 边 表 示 转 换 成 的 进 行 运 算 的 数 据 类 型。
例2.2
public class Promotion{
public static void main( String args[ ] ){
byte b=10;
char c='a';
int i=90;
long l=555L;
float f=3.5f;
double d=1.234;
float f1=f*b;
// float * byte -> float
int i1=c+i;
// char + int -> int
long l1=l+i1;
// long + int ->ling
double d1=f1/i1-d;
// float / int ->float, float - double -> double}
}
二 、 强 制 类 型 转 换
高 级 数 据 要 转 换 成 低 级 数 据 ,需 用 到 强 制 类 型 转 换 ,如 :
int i;
byte b=(byte)i; //把 int型 变 量 i强 制 转 换 为 byte型
这 种 使 用 可 能 会 导 致 溢 出 或 精 度 的 下 降 ,最 好 不 要 使 用。
···
···