网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  java 类型提升的约定     
  文章作者:未知  文章来源:水木森林  
  查看:234次  录入:管理员--2007-11-17  
  类型提升的约定
    除了将byt型和short型提升到int型以外,java定义了若干适用于表达式的类型提升规则(type promotion rules). 首先,如刚才描述的,所有的byte型和short型的值被提升到int型.其次,如果一个操作数是long型,整个表达式将被提升到long型;如果一个操作数是float型,整个表达式将被提升到float型;如果有一个操作数是double型,计算结果就是double型.
下面的程序表明:在表达式中的每个值是如何被提升以匹配各自二进制运算符的第二个参数:
 class promote {
  public static void main(string[] args) {
   byte b = 42;
   char c = 'a';
   short s = 1024;
   int i = 50000;
   float f = 5.67f;
   double d = .1234;
   double result = (f * b) + (i / c) - (d * s);
   system.out.println((f * b) + "+" + (i / c) + " - " + (d * s));
   system.out.println("result =" + result);
 }
}

进一步看看发生在下列程序行的类型提升:
 double result  = (f * b) + (i / c) - (d * s);
在第一个表达式f*b中,变量b被提升为float类型,该子表达式的结果当然是float类型.
接下来,在子表达式i/c中,边量c被提升为int类型,该子表达式的结果当然是int类型.
然后,子表达式d*s中的变量s被提升为double类型,该子表达式的结果当然是double类型.
最后,考虑三个中间值,float类型,int类型,和double类型.float类型加int类型的结果是
float类型,然后float类型减去提升为double类型的double类型,该表达式的最后结果是
double类型.
 
 
上一篇: 简单的字符转换和反转换函数    下一篇: webwork的强大的验证器
  相关文档
j2se综合:介绍一个解析日期格式的方法 02-29
java技术实现数据库应用系统慨述 11-17
关于java连接各种数据库的实例 11-16
降低java虚拟机的风险 11-17
tomcat 服务器server.xml的关键参数配置 02-27
mvc 构架学习之渐行渐进(二) 11-17
java通过jacob调用word 11-17
揭开 java 安全标准的神秘面纱 11-16
java学习:彻底明白java的io系统 11-16
使用spring更好地处理struts动作 11-17
利用java语言实现数据报编程之单播 11-16
利用jdk1.5新工具进行系统性能监测 11-17
用java编写asp组件 11-17
我的java矢量软件之路4--faqs 11-17
使用properties从配置文件中读取数据 11-17
java 树中 按最长路径行驶 11-17
用eclipse进行可视化java界面设计(1) 11-17
java实现远程文件读取! 11-17
java到structs 11-17
原创-effective java学习笔记3:用私有构造函数强化不可实例化能? 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息