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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曹震国 中级黑马   /  2014-12-10 11:00  /  4542 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

强制类型转换  byte b = 3;
                      b = (byte)(b+4);

                    为什么byte需要用括号括起来,不括为什么不能把后面括号里的内容进行强制转换。

11 个回复

倒序浏览
额 好像是格式需要吧
回复 使用道具 举报
这好像是规定,例如: double a=7.4
回复 使用道具 举报
等等,还没有弄完,我手残了,一个回车就上去了,我补充下
double a=7.4;
a=(int)(a+3);
是一个道理,只不过,byte运算是是自动转换为int型运算的,所以你的那个要强制类型转换,还有加括号是格式规定。

评分

参与人数 1技术分 +1 收起 理由
李家汉子初养成 + 1 赞一个!

查看全部评分

回复 使用道具 举报
格式要求
回复 使用道具 举报
定义。。。
回复 使用道具 举报
cz萑 中级黑马 2014-12-10 22:46:47
7#
如果你不括后面的,你的强转byte只是转换的b的值,而括起来之后转的是b+4的值
回复 使用道具 举报
给byte加括号是格式需要。
回复 使用道具 举报
了解了。
回复 使用道具 举报
上面回答了,我就不说了,震国兄的帖子必须顶一下!
回复 使用道具 举报
强制类型的转换格式:
目标类型   变量=(目标类型)值
    byte       b  = (byte)(b+4);

兄弟看明白了吧!
回复 使用道具 举报
那是格式吧,强制类型的转换格式是(数值类型)(要转换的值或表达式)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马