short s=1;s=s+1有问题吗?short s=1;s+=1;有问题吗?

首先,s=s+1;先执行等式右边的,s+1会转化为int,int不能转换为short ,不能隐形从大到小转类型,只能强转。所以会出现编译出错的问题;

而s+=1;+=是一个操作符,在解析的时候等价于:s=(short)s+1.

猜你喜欢

转载自blog.csdn.net/sinat_32856935/article/details/81208815