java 写 count++ 和 count = count + 1有什么不同?

来源:百度知道 编辑:UC知道 时间:2024/05/12 20:35:44

有区别的,区别在于jdk编译的时候
编译时,jdk会向上自动转换
比如说
int t =1;
t++; 等同于 t=t+1; //1 是int,和int型相加,int + int 赋值给int时,编译没有错误

long t= 1L;
t++; 等同于 t=t+1; //1 是int,和long 型相加,由于有int 向上自动转换成 long,int(这时转换成了long) + long 赋值给long时,编译没有错误

short t=1;
t++; 不等同于 t=t+1; //1 是int,和short类型相加,由于 short 向上自动转换成 int,short(这时转换成了int + int 赋值给short 时,编译肯定会出现错误!

这里,自动向高级转换时,是t的“值”自动转换了,并非是其类型真的变了!

达到的效果差不多吧
呵呵,基本一样
count++看起来简练
count = count +1 这样也可以啊
达到的是同样的效果了

对,涉及到转型

如果count为整型(因为1也是整型),那就没区别

否则自动向高级转换,向高级转换是为了防止信息丢失.

2者是相等的,没什么不同?
也可以写成这样
count+=1

基本一样
count++更简练,可以写到式子当中;
count=count+1本身就是关系式。

不完全有区别
但是部分时候。。还是多多少少有区别
跟++I和I++的时候一样,现在好象基本不分了。。新版本里面