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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18255007004 中级黑马   /  2015-1-15 20:29  /  1589 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
         * 第1题:以下代码哪个是正确的?为什么?
         * a. byte b = 1 + 1;     
         * b. byte b = 1; b = b + 1;
         * c. byte b = 1; b = b += 1;   
         * d. byte b = 1; b = ++b;
         * @author 刘德旺
         * 答:选项a是对的,定义b为byte型,且值为2。
                         选项b是错的,b+1的结果默认转换为int型,int型不能直接转换为byte型,需强制转换。
                                                         应改为:byte b=1;b=(byte)(b+1);
                     选项c是对的,b+=1包含了一个隐藏的类型转换,相当于 b=(byte)(b+1);
                     选项d是对的,b=++b也包含了一个隐藏的类型转换。

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

10 个回复

倒序浏览
这标题和内容有什么关系……
回复 使用道具 举报
选择c。。。
回复 使用道具 举报
真看不出来你的代码跟标题有什么关系
回复 使用道具 举报
我也是冲着标题进来的,结果没看到想要的,既然有问题就解答一下吧
选择a的原因是byte b = 1 + 1;     右边是常量,会在运算后判断结果,如果在限定范围之内则不报错,否则报错。
选择c 就很明显了,+= 包含隐式类型转换。
回复 使用道具 举报
这是第一章的基础内容
回复 使用道具 举报
看看我的

Test7.zip

606 Bytes, 下载次数: 172

评分

参与人数 1黑马币 +12 收起 理由
18255007004 + 12 很给力!

查看全部评分

回复 使用道具 举报
AnElse 中级黑马 2015-1-16 18:23:50
8#
看看学习
回复 使用道具 举报
666666666666666666666666
回复 使用道具 举报
呵呵,和题目有关吗?
回复 使用道具 举报
被骗了。。。你这个标题严重不符啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马