黑马程序员技术交流社区
标题:
有个小疑惑
[打印本页]
作者:
完美恋爱
时间:
2013-11-6 07:54
标题:
有个小疑惑
long a = 200;这里的a到底是int类型还是long类型啊?
作者:
为了你而出现
时间:
2013-11-6 08:04
a应该是long类型,因为long是64位的整数,而200本来是int型是32位的整数,JVM是将一个32位的数放到了64位的内存中。(这也是我昨天刚学习到的,不知道对你有没有帮助)
作者:
为了你而出现
时间:
2013-11-6 08:11
看看这个视频里面有讲解同类型的,我昨天就是看的这个视频教程。
作者:
为了你而出现
时间:
2013-11-6 08:11
http://pan.baidu.com/s/19qZyQ
作者:
黄炳期
时间:
2013-11-6 08:24
你自己都定义了类型了,定义什么类型就是什么类型啊
作者:
涐扪①起奮乧
时间:
2013-11-6 10:37
照你这样写,a为long类型,因为你自己定义的就是long a
作者:
一个人旅行
时间:
2013-11-6 10:48
当然是long啦。。
作者:
jing迪
时间:
2013-11-6 10:53
我的理解是 a是long型 后面的200是int型,在赋值的时候进行了自动类型的提升也就是 long a = (long)200
如果我的理解有错误 希望能指正
作者:
Gump
时间:
2013-11-6 11:14
整数的默认数据类型是 int型的,long a = 200,这里的a是long类型的,因为你将a自定义为long型,出于内存空间的考虑,200没必要放在long型中,比较浪费空间。
作者:
零下五度的水
时间:
2013-11-6 11:51
看了二进制没有?
二进制来说的话就相当于给 a 传入一个 int, 32位的值,
200 就是:0000-0000 0000-0000 0000-0000 1100-1000
然后在前面补32个0, 存入的就是:
0000-0000 0000-0000 0000-0000 0000-0000 0000-0000 0000-0000 0000-0000 1100-1000
是 long 型的
作者:
完美恋爱
时间:
2013-11-6 21:37
黄炳期 发表于 2013-11-6 08:24
你自己都定义了类型了,定义什么类型就是什么类型啊
但是不是说如果不是long a = 200L或者200l的时候不久默认为整形吗?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2