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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 滔哥 黑马帝   /  2014-8-13 11:37  /  15201 人查看  /  133 人回复  /   3 人收藏 转载请遵从CC协议 禁止商业使用本文

还记得上节课我们说到,两个整型数据相除得到的结果也一定是整型的。那么我们怎样才能获得数学上正确的结果呢?答案就是对变量进行类型转换。我们已经给出了上节课的一部分代码,现在我们来尝试一下在第5行上加上下面这一句代码:
  1. System.out.println((double)i1 / i2);
复制代码
稍后我们可以运行一下,现在还不着急,我向你保证这条语句的结果一定会是2.5的。

然后我们来探究一下原理是怎么样的。大家或许能够猜出来,(double)一定是进行了一个类型转换的操作,它在这里将i1强制转换成了double类型的数据。根据Java中的计算规则,运算符两边的变量类型会默认向占用存储空间比较高的那一个转换,因此,i2也会默认被转换成double类型。两个double类型的数据做除法,结果当然毫无疑问就是一个小数啦!
接下来我们尝试把字符变量ch转换成整型,看看会出现什么样的结果吧。我们已经声明好了字符变量ch,现在让我们使用相似的方法,将ch被转换成int类型的值在一行中输出出来。
  1. System.out.println((int)ch);
复制代码

很好,现在我们可以安心的点击运行了。第一行输出是2.5,我们成功的得到了除法的正确结果。第二行输出是65,这是字符”A”在ASCII码表里面的十进制值。

第8课:标识符

点评

给力  发表于 2014-8-18 14:31

133 个回复

倒序浏览

回帖奖励 +1

顶,滔哥!
回复 使用道具 举报

回帖奖励 +1

这个不错,学习了,还能拿个黑马币
回复 使用道具 举报

回帖奖励 +1

类型转换算是比较繁琐的一个东西,不过还算简单.
回复 使用道具 举报

回帖奖励 +1

巩固基础
回复 使用道具 举报

回帖奖励 +1

复习了一下
回复 使用道具 举报

回帖奖励 +1

复习一下
回复 使用道具 举报

回帖奖励 +1

值得收藏!
回复 使用道具 举报

回帖奖励 +1

开开心心顶贴去!
回复 使用道具 举报

回帖奖励 +1

值得学习ing
回复 使用道具 举报

回帖奖励 +1

过来看看
回复 使用道具 举报

回帖奖励 +1


涛哥  你你又这么无私 这么给力  
{:3_67:}我要给你生孩子!!!!!!
回复 使用道具 举报

回帖奖励 +1

看了之后明白了许多还是
回复 使用道具 举报

回帖奖励 +1

int 占用内存空间4个字节,double占用内存空间8个字节,int类型转换成double类型,可以显示转换也可以隐式转换。这里是显示强转:)
回复 使用道具 举报

回帖奖励 +1

好帖,学习了
回复 使用道具 举报

回帖奖励 +1

学习中
回复 使用道具 举报

回帖奖励 +1

巩固基础!加强学习!滔哥威武!
回复 使用道具 举报

回帖奖励 +1

必须顶~~~~~~~~~~~
回复 使用道具 举报

回帖奖励 +1

转型是一个难点,不过仔细想想也挺简单的
回复 使用道具 举报

回帖奖励 +1

赞一个。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马