黑马程序员技术交流社区

标题: 合法的赋值语句问题 [打印本页]

作者: 程澄    时间: 2014-1-13 15:05
标题: 合法的赋值语句问题
本帖最后由 程澄 于 2014-1-13 18:55 编辑

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

作者: xu6148152    时间: 2014-1-13 15:19
本帖最后由 xu6148152 于 2014-1-13 15:22 编辑

把各自的类型都说明一下。。。不然怎么知道是什么问题。似乎a=a+1没分号啊?编译的时候报的什么错误?
可能是不同数据类型的相加吧。在JAVA当中是不允许的。
比如说s+=n正确,而s=s+n却不正确。
作者: 午夜b'Boy    时间: 2014-1-13 15:21
不会是缺分号结束吧
作者: apples_benben    时间: 2014-1-13 16:14
大哥,问题具体点呗。错,什么错吗???最好完整代码贴上来
作者: 程澄    时间: 2014-1-13 16:38
本帖最后由 程澄 于 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;

作者: 程澄    时间: 2014-1-13 16:39
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
apples_benben 发表于 2014-1-13 16:14
大哥,问题具体点呗。错,什么错吗???最好完整代码贴上来

完整题目,答案选B
2:以下选项中变量均已正确定义,合法的赋值语句是()。
A.   a==1;                 
B.   ++i;   i = i + 1;
C.   a=a+1                     
D.   4+=a;
作者: apples_benben    时间: 2014-1-13 16:52
程澄 发表于 2014-1-13 16:40
完整题目,答案选B
2:以下选项中变量均已正确定义,合法的赋值语句是()。
A.   a==1;                 ...

B选项:++i说明i是个Number类型,所以后续的i=i+1赋值是正确的。
C选项:只是给出了a=a+1没有明确a的类型,其次通过对比此条语句没有分号结束。
作者: 不冬眠的蚂蚁    时间: 2014-1-13 17:03
a=a+1 如果a是byte型 那么这个式子就是将a+1转换成int型 再赋给byte型 。那你说行不不行,肯定不行。
作者: 姬运涛    时间: 2014-1-13 17:20
这个问题:
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的错的一样




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