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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 滔哥 黑马帝   /  2014-8-13 11:37  /  13584 人查看  /  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 个回复

正序浏览
多谢分享
回复 使用道具 举报
测试一下 这个代码 看看结果
回复 使用道具 举报
  还可以  不是很难只要题目不玩文字游戏
回复 使用道具 举报
跟着打了一遍,
回复 使用道具 举报
上课就上课了法律!!!!!!!!!!!!!!!
回复 使用道具 举报
谢谢分享,
回复 使用道具 举报
这个不错,学习了,还能拿个黑马币
回复 使用道具 举报
在讲课了!!!
回复 使用道具 举报
类型转换:大到小。
回复 使用道具 举报
Ogre 中级黑马 2014-12-28 18:12:47
124#
强转和自动转分开说比较好~起码看上去清晰很多
回复 使用道具 举报
强制转换 和自动类型提升
回复 使用道具 举报
受教了啊!这个本来不难,但是总是容易忘记。
回复 使用道具 举报
这个是前几天才学的类型转换,现在看起来感觉好easy。。:lol
回复 使用道具 举报
Ogre 中级黑马 2014-12-14 13:17:43
120#
继续支持吧~
回复 使用道具 举报
又学到个知识点,赚了,哈哈
回复 使用道具 举报
大谢楼主。。
回复 使用道具 举报
这是在上课吗?好吧,我来学习学习。
回复 使用道具 举报
复习了!
回复 使用道具 举报
纯属个人见解。

2014-12-11_204606.jpg (122.65 KB, 下载次数: 42)

纯属个人见解

纯属个人见解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马