12
返回列表 发新帖
楼主: AIX625

求助FLOAT与LONG型的强制类型转换的问题?

[复制链接]
论坛徽章:
0
11#
发表于 2007-3-28 13:04 | 只看该作者
浮点运算与整数运算规则不一样

使用道具 举报

回复
论坛徽章:
0
12#
发表于 2007-3-28 13:29 | 只看该作者
class TestLong
{
        public static void  main(String arg [])
        {
        int i=2;
        long j=20l;
        float k=2.3f;
        j=(long)k;
        //k=j;
        System.out.println(" "+j);
        //System.out.println(""+k);
        }
}
测试一下

使用道具 举报

回复
论坛徽章:
0
13#
 楼主| 发表于 2007-3-28 13:51 | 只看该作者
楼上的,你让我测啥啊?那程序的结果说明不了什么问题啊,J=2, K=2.3呗,  不理解你要我测什么?

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2007-3-28 15:25 | 只看该作者
最初由 AIX625 发布
[B]所以说,与内存占用大小无关,书上写的纯是扯蛋. [/B]



   同意,占用内存多不表示它的允许的取值范围大,还可能是保存的位数比较多,比较精确而已,就像 float 和 long,我搞个很大的float 型数,大到超过long 的范围,它怎么转,都溢出了

使用道具 举报

回复
论坛徽章:
0
15#
发表于 2007-3-28 15:31 | 只看该作者
最初由 JavaRanch 发布
[B]书上说的应该是错的,像这样隐式的转化(即前面不用加(float)),只能在整型(包括char, byte, short, int, long)或浮点型(包括float, double)内部进行,或者从整型转化为浮点型。

12345L后面的L表示该数字为long型,如果不加L,则默认表示为int型,就如同1.33f,表示为float型,如不加,墨认为double型。 [/B]


浮点文字除非明确声明为float,否则为double
   这是不是有点奇怪,按理说应该总是默认用比较小的数据类型来存储才对的,能节省内存空间,而且float也能满足一般的需要了吧

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表