黑马程序员技术交流社区

标题: 强制类型转换加括号的问题 [打印本页]

作者: 曹震国    时间: 2014-12-10 11:00
标题: 强制类型转换加括号的问题
强制类型转换  byte b = 3;
                      b = (byte)(b+4);

                    为什么byte需要用括号括起来,不括为什么不能把后面括号里的内容进行强制转换。
作者: fatesabering    时间: 2014-12-10 11:01
额 好像是格式需要吧
作者: sweet凌风    时间: 2014-12-10 11:37
这好像是规定,例如: double a=7.4
作者: sweet凌风    时间: 2014-12-10 11:39
等等,还没有弄完,我手残了,一个回车就上去了,我补充下
double a=7.4;
a=(int)(a+3);
是一个道理,只不过,byte运算是是自动转换为int型运算的,所以你的那个要强制类型转换,还有加括号是格式规定。
作者: 農邨尛夥兒    时间: 2014-12-10 22:04
格式要求
作者: 西风烈123    时间: 2014-12-10 22:35
定义。。。
作者: cz萑    时间: 2014-12-10 22:46
如果你不括后面的,你的强转byte只是转换的b的值,而括起来之后转的是b+4的值
作者: Honelyboy    时间: 2014-12-10 22:46
给byte加括号是格式需要。
作者: 曹震国    时间: 2014-12-11 17:39
了解了。
作者: boycechan    时间: 2014-12-11 17:48
上面回答了,我就不说了,震国兄的帖子必须顶一下!
作者: Jason996    时间: 2014-12-11 18:52
强制类型的转换格式:
目标类型   变量=(目标类型)值
    byte       b  = (byte)(b+4);

兄弟看明白了吧!
作者: songkaihua    时间: 2014-12-11 19:33
那是格式吧,强制类型的转换格式是(数值类型)(要转换的值或表达式)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2