平时用的多的,并不表明你真的会了,凡是技术问题真的是每个点都要深耕与研究编译器
下面是一道及其简单的问题,可是未必每一个人都能答出来编译
i=i+1 与 i+= 1 有什么区别?im
我想不少人会说除了写法不同以外没啥区别啊,结果不是都同样么?若是这么问我以为你可能缺少深刻思考的习惯了。若是我把题目换一下呢?技术
short i=0 img
i=i+1 与 i+= 1 有什么区别?思考
这个时候你的编译器就会告诉你答案了,第一种编译器会报错,而第二种不会,由于+=会将结果自动转换成符号左侧的类型,而第一种不会,可是i+1会自动转换成整型,而i是short类型的,所以就会像这样:习惯