`
剑锋凛冽
  • 浏览: 75544 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

A+=B等价于A=A+B吗

 
阅读更多

先看这段代码

public static void main(String[] args) {
		// TODO Auto-generated method stub
        short s=5;
        s=s-2;//short类型被隐式转换成为int类型,因此这一句右部实际上是计算出int类型数据,并不做转换地赋值给short类型
        //因此出现类型转换问题
        s-=2;//这一句就没有类型转换异常,因为他实际上等价于s=(short)(s-2);
        
	}

 A+=B实际上等价于A=(A的类型)(A+B)而不是A=A+B

也就是说包含强制类型转换的过程,因此有可能会出现数据丢失、转换异常等问题

分享到:
评论

相关推荐

    JS的递增/递减运算符和带操作的赋值运算符的等价式

    1.递增/递减运算符等价式a=b++; <=> a=b;...=> a=a+b;a-=b; <=> a=a-b;a%=b; <=> a=a%b;a&=b; <=> a=a&b; //从&=开始,下边都是逐位运算符a|=b; <=> a=a|b;a^=b; <=> a=a^b;a>>

    飞机电子技术-逻辑代数的公式和运算法则.pptx

    逻辑代数还遵循交换律(A・B=B・A,A+B=B+A)、结合律(A・(B・C)=(A・B)・C,A+(B+C)=(A+B)+C)和分配律(A・(B+C)=A・B+A・C,A+(BC)=(A+B)(A+C))。这些定律使得我们可以简化复杂的逻辑表达式,并使逻辑设计更加...

    C语言面试题

    存储字符串”a+b=c”至少需要** 6 **个字节。** **25. 假定x和y为整型,其值分别为16和5,则x%y和x/y的值分别为** 1 **和** 3 **。** **26. 假定x和y为整型,其值分别为16和5,则x/y和double(x)/y的值分别为** 3 ...

    C语言课后答案

    例如,`a+=a` 等价于 `a=a+a`,表示将变量 `a` 的值加倍。 ### 复杂格式化输出 11. **复杂格式化输出**: 使用 `printf` 函数的格式控制,可以输出各种复杂格式的数据,包括数字、浮点数、字符以及它们的ASCII码等...

    PTA选择题答案

    the value of expression a+=a-=a*=a is __.”(根据声明:int a=12; 表达式 a+=a-=a*=a 的值为 __。)的知识点,这涉及到复合赋值操作符的使用,它们从右向左进行计算。表达式等价于 a = a * a; a -= a; a += a; ...

    php 操作符与控制结构

    操作符 操作符是用来对数组和变量进行...等价于 += $a+=$b $a=$a+$b -= $a-=$b $a=$a-$b *= $a*=$b $a=$a*$b /= $a/=$b $a=$a/$b %= $a%=$b $a=$a%$b .= $a.=$b $a=$a.$b 前置递增递减和后置

    c语言试题库

    3. 三元运算符与赋值表达式:表达式 `a+=a-=(b=4)*(a=3)` 属于复合赋值操作,首先 `b=4`,然后 `a=3`,接着 `a-=b`(即 `a = a - b`),最后 `a+=a`。正确答案是 A,因为这种表达方式在 C 语言中是合法的。 4. 预先...

    物联网理论与技术第3章:逻辑函数运算规则及化简2022优秀文档.ppt

    - 交换律:A+B=B+A,A·B=B·A。 - 结合律:(A+B)+C=A+(B+C),(A·B)·C=A·(B·C)。 - 分配律:A·(B+C)=AB+AC,A+(BC)=(AB)+(AC)。 - 吸收律:A+AB=A,A·(A+B)=A。 - 等同律:A+!A·B=A+B。 - 反演律(摩根定理)...

    乘除法的关系和运算律.pdf

    交换律指出,两个数相加时,改变它们的顺序,和保持不变,例如a+b=b+a。扩展到多个数相加,这一规律同样适用,如A+B+C=A+C+B=C+B+A。结合律则表明,无论怎样组合三个数进行相加,结果都是相同的,即(A+B)+C=A+(B+C)...

    2020秋九年级数学上册第22章相似形22.1第2课时比例线段同步练习1无答案新版沪科版

    4. 根据比例的等比性质,若 a/b = c/d = e/f,那么 a+b+c/d+e/f = (a+c)/(b+d) = (e+f)/(d+f)。已知 b+d+f = 50,由 a/b = c/d = e/f 可得 a+c+e = 50。 5. 如果 a/b = b/c = c/d,那么 a/b = b/(b+c) = c/(c+d),...

    数字电子电路课件第二章课件.ppt

    交换律(A+B=B+A,A·B=B·A)表明加法和乘法操作的顺序可以互换而不改变结果。结合律(A+(B+C)=(A+B)+C,A·(B·C)=(A·B)·C)说明了多个元素加或乘时,括号的使用不影响结果。分配律(A+(B·C)=(A+B)·(A+C),A·...

    四年级数学运算定律.doc

    例如,a+b=b+a。 - **结合律**:不论怎样组合,三个或更多数相加的结果是相同的。例如,a+b+c=a+(b+c),也可以写作a+b+c=(a+c)+b。 2. **加法的特殊技巧**: - **多加几减去几**:如158+99=158+100-1,通过调整数...

    浙江专版2017_2018学年高中数学课时跟踪检测十七向量减法运算及其几何意义新人教A版必修4

    6. 向量的运算法则包括交换律(a+b=b+a),反向向量的和为零(-a+a=0),以及结合律(a-(b+c)=a-b+c)。因此,所有给出的等式都是正确的。 7. 如果两个向量a和b互为相反向量,即a=-b,且|a|=|b|=1,则`|a+b|=0`...

    C语言复习题4[借鉴].pdf

    因为d/10%9的结果是2,a被赋值为2,然后`b=a&&(-1)`,在C语言中,任何非零值都被视为真,因此b被赋值为1。 9. 输入9时,`n++的条件为假,因此执行`n--`,n变为8,输出8。 10. 函数调用`func((e1+e2),(e3+e4+e5));`...

    C语言课后习题答案 第三版

    2(float)(a+b)/2+(int)x%(int)y a=2,b=3,x=3.5,y=2.5 12.5 23.5 ``` #### 分析: 这段代码展示了表达式的计算方法。 - 第一条表达式的结果是2.5,其中包含了整型转换、取余等操作。 - 第二条表达式的结果是3.5,...

    2021年c语言题库.doc

    例如,语句 a+=a-=a*=a; 的执行顺序是先执行 *= 运算符,然后执行 -= 运算符,最后执行 += 运算符。 7. 逻辑运算符:C 语言的逻辑运算符包括 && 和 ||。例如,表达式 !x||y==z 等效于 (!x)||(y==z)。 8. 关系...

    福建省建阳市水吉中学七年级数学等式的性质课件PPT学习教案.pptx

    例如,1+2=3,a+b=b+a,S=ab,4+x=7,这些都是等式,它们的共同特征是等号两边的量具有相等的关系。 等式的基本性质主要有两个: 1. **等式性质1**:等式的两边同时加上或减去同一个数或同一个代数式,所得的新式...

    (完整版)C语言程序设计期末考试试题及答案.doc

    例如,`a=b=c+8;` 是合法的,将`c+8`的结果赋值给`b`,然后将`b`的值再赋给`a`。 2. **自增运算符**:`++`是自增运算符,`i++`表示先使用`i`的当前值,然后将其加1。因此,执行`j=i++;`后,`i`的值会增加到2。 3. ...

Global site tag (gtag.js) - Google Analytics