A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 自闭宅男 中级黑马   /  2014-7-7 10:57  /  1131 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java中简基本数据类型的转型:  Java中的简单数据类型的转换分为两种:自动转换和强制转换  1)自动转换:  当一个较“小”的数据和较“大”的数据一起运算的时候,系统将自动将较“小”的数据转换为较“大”的数据,再进行运算。  在方法调用过程,如果实际参数较“小”,而函数的形参比较“大”的时候,除非有匹配的方法,否则会直接使用较“大”的形参函数进行调用。  2)强制转换:  将“大”数据转换为“小”数据时,可以使用强制类型转换,在强制类型转换的时候必须使用下边这种语句:int a = (int)3.14;  只是在上边这种类型转换的时候,有可能会出现精度损失。  关于类型的自动提升,遵循下边的规则:  所有的byte、short、char类型的值将提升为int类型;  如果有一个操作数是long类型,计算结果是long类型;  如果有一个操作数是float类型,计算结果是float类型;  如果有一个操作数是double类型,计算结果是double类型;  自动类型转换图如下:  byte->short(char)->int->long->float->double  如果是强制转换的时候,就将上边的图反过来  3)转换附加:  当两个类型进行自动转换的时候,需要满足条件:【1】这两种类型是兼容的,【2】目的类型的数值范围应该比源转换值的范围要大。而拓展范围就遵循上边的自动类型转换树,当这两个条件都满足的时候,拓展转换才会发生,而对于几个原始类型转换过程,根据兼容性boolean和char应该是独立的,而其他六种类型是可以兼容的,在强制转换过程,唯独可能特殊的是char和int是可以转换的,不过会使用char的ASCII码值比如:int a = (int)'a';  a的值在转换过后输出的话,值为97;

1 个回复

倒序浏览
a的值在转换过后输出的话
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马