java中+=和=+的区别

这两种方式有什么区别,第一种运行成功,第二种报错了。short a=3; a+=2;
short a=3; a=a+2;

1.java中有=+的写法并且不报错,其效果相当于=,本人亲测,但是不知道原理。
2.所以题主问题变成了,java中+=和=的区别。
3.i+=1效果略相当于i=i+1(但是还是有区别)。i=1就是给i赋值为1。
4.题主报错应该是类型转化错误。
short a=3; a=a+2; a+2的结果类型转化成int,无法再赋 值给short类型的a。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-07-11
"="是赋值操作符,它的操作是把符号右边的变量或者常量或者对象的值赋值给符号右边的变量。
"=="是算数运算符中的一个操作符,主要用在判断中,如if(a
==
b){...}这条语句中,a
==
b语句的意思是先比较a和b的值是否相等(java中的相等不止是有值相等,还有对象的引用相等,这在比较两个值相等时需要注意和分清),然后返回比较的结果(只有两张,true和false)。
第2个回答  2018-05-12
瞎说什么,答非所问,题主的报错原因是类型转换问题,
short a=3; a=a+2;
a+2得出来的结果是int整型
在编译器将右边的表达式结果计算出来后,和左边的变量类型比较精度,如果左边的变量精度低于右边的结果的精度
第3个回答  2020-11-11
只能用好像不能借
第4个回答  2018-04-18

ava 基本数据类型是分配在栈内存里的,比如你上面的列子  int i,j;i=j:,在栈内存里有两个变量,i,j 这里你没有赋值,初始值为0.你写的第2种情况是,int i,j.t;t=j,i=t ,在栈内存里定义了三个变量,i,j,t,然后把j的值赋给t,这里是copy也就是把j的值复制给t,自己本身不变。然后再把t copy给i,所以只是过程中多了个t这个中间变量,没什么大的区别。

java它是个面向网络的程序设计语言,用来让程序员创建应用程序,这些应用程序可以通过网络下载,而且可在任何计算平台上安全地运行。如果再加上万维网和公司内部网体系,你将会拥有一个标准的网络计算环境,Java作为一个分布式的,面向对象的程序设计语言,可以让位于任何地方的任何计算机应用网络上的应用程序。 

如果在商业角度看待Java,Java是个时髦话。同不少已经有20年历史的其他程序设计语言相比,Java吸收了计算机科学领域的各种最新成果,另外一方面,由于Java还比较年轻,它缺少诸如Visual Basic 或C++那样的丰富的编程工具的支持。

本回答被网友采纳
相似回答