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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘雷冲 中级黑马   /  2012-3-5 22:08  /  1837 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、boolean类型不可转换
2、容量小的类型自动转换成容量大的类型
         byte, short, char -> int -> long -> float -> double
         byte, short, char之间是不会相互转换的
3、容量大得类型转换成小的要加强制转化符,但可能溢出,使用时要格外小心
4、实数默认为double   整数默认为int

此为自己的一些理解,不到之处还请大家多多指教!

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

5 个回复

倒序浏览
哥们long    ->float是不假,但说它们是低位转高位
感觉不怎么现实呀?感觉不怎么现实呀?感觉不怎么现实呀?
回复 使用道具 举报
胡元 发表于 2012-3-5 22:43
哥们long    ->float是不假,但说它们是低位转高位
感觉不怎么现实呀?感觉不怎么现实呀?感觉不怎么现实呀 ...

低位是可以转向高位的,只是高位转向低位时(强制转换),有失精度!
回复 使用道具 举报
舞动的心弦 发表于 2012-3-5 22:54
低位是可以转向高位的,只是高位转向低位时(强制转换),有失精度!

我的意思是long->float是特殊的,他们是自动转换,但是是高位转低位!
回复 使用道具 举报
胡元 发表于 2012-3-5 22:56
我的意思是long->float是特殊的,他们是自动转换,但是是高位转低位!

float表示的范围比long大,不会超出范围,只是精度不够.我写了一个小程序:关于如何转换
public class testLong{
public static void main(String args[]){
Long a = 25L;
Float b ;
b = a.floatValue();
System.out.println(b);
}
}
在这里,给a赋值的时候必须加上后面的L,不然会把他当成int类型的变量给a,会报错的!

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
舞动的心弦 发表于 2012-3-5 23:05
float表示的范围比long大,不会超出范围,只是精度不够.我写了一个小程序:关于如何转换
public ...

原来是我学艺不精,多谢执教!刚查资料了,以前以为float32位的,所以范围没有long大,呵呵!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马