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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 程澄 中级黑马   /  2014-1-13 15:05  /  945 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 程澄 于 2014-1-13 18:55 编辑

选项中变量均已正确定义
A.  ++i;  i = i + 1;
B   a=a+1
为什么A正确,B错了?

评分

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

查看全部评分

9 个回复

倒序浏览
本帖最后由 xu6148152 于 2014-1-13 15:22 编辑

把各自的类型都说明一下。。。不然怎么知道是什么问题。似乎a=a+1没分号啊?编译的时候报的什么错误?
可能是不同数据类型的相加吧。在JAVA当中是不允许的。
比如说s+=n正确,而s=s+n却不正确。
回复 使用道具 举报
不会是缺分号结束吧
回复 使用道具 举报
大哥,问题具体点呗。错,什么错吗???最好完整代码贴上来
回复 使用道具 举报
本帖最后由 程澄 于 2014-1-13 16:40 编辑
xu6148152 发表于 2014-1-13 15:19
把各自的类型都说明一下。。。不然怎么知道是什么问题。似乎a=a+1没分号啊?编译的时候报的什么错误?
可能 ...

完整题目,答案选B
2:以下选项中变量均已正确定义,合法的赋值语句是()。
A.   a==1;                 
B.   ++i;   i = i + 1;
C.   a=a+1                     
D.   4+=a;
回复 使用道具 举报
xu6148152 发表于 2014-1-13 15:19
把各自的类型都说明一下。。。不然怎么知道是什么问题。似乎a=a+1没分号啊?编译的时候报的什么错误?
可能 ...

:L完整题目,答案选B
2:以下选项中变量均已正确定义,合法的赋值语句是()。
A.   a==1;                 
B.   ++i;   i = i + 1;
C.   a=a+1                     
D.   4+=a;
回复 使用道具 举报
程澄 中级黑马 2014-1-13 16:40:41
7#
apples_benben 发表于 2014-1-13 16:14
大哥,问题具体点呗。错,什么错吗???最好完整代码贴上来

完整题目,答案选B
2:以下选项中变量均已正确定义,合法的赋值语句是()。
A.   a==1;                 
B.   ++i;   i = i + 1;
C.   a=a+1                     
D.   4+=a;
回复 使用道具 举报
程澄 发表于 2014-1-13 16:40
完整题目,答案选B
2:以下选项中变量均已正确定义,合法的赋值语句是()。
A.   a==1;                 ...

B选项:++i说明i是个Number类型,所以后续的i=i+1赋值是正确的。
C选项:只是给出了a=a+1没有明确a的类型,其次通过对比此条语句没有分号结束。

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1 赞一个!

查看全部评分

回复 使用道具 举报
a=a+1 如果a是byte型 那么这个式子就是将a+1转换成int型 再赋给byte型 。那你说行不不行,肯定不行。
回复 使用道具 举报
这个问题:
A:  a==1.这就不是一个赋值语句,赋值语句单等号
B:++i,i=i+1;i一般为参数,默认int型
C:a=a+1  ;没给出a的类型,如果a的类型不是int型,想加时电脑会把a的类型强制变为int,然后赋值给a,单a的类型不是int,系统会提示丢失精度
D.   4+=a;这个写法有点问题,一般变量放左边,这个意思应该是4=4+a,与c的错的一样

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马