Java各类数值型数据间的混合运算

发表于:2010-3-12 10:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
java

  自动类型转换

  整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。转换从低级到高级,如下图:

  转换规则为:

  ① (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为运算符(如加、减、乘、除等),右边表示转换成的进行运算的数据类型。

  例1

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型

  这种使用可能会导致溢出或精度的下降,最好不要使用。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号