a++,a=a+1;a+=1的区别

测试a++;

package basis.week01;

public class Test01 {
	public static void main(String[] args) {
		//测试a++,a=a+1;a+=1的区别
		byte a=127;
		a++;//自动转换数据类型
		System.out.println(a);//溢出也没有关系
		
		byte b=1;
		b++;
		System.out.println(b);
	}
}

测试a+=1;

		byte a=127;
		a+=1;
		System.out.println(a);
		
//		byte b =1;
//		b+=22323222222;//报错,会去判断22323222222是否满足INT的字面量
//		System.out.println(b);

测试a=a+1;

		//无法完成大数据类型自动转成小数据类型
		byte a=1;
		a=a+1;//报错Type mismatch: cannot convert from int to byte
		a=(byte)(a+1);
		
		long b = 1;
		b=b+1;

总结:三者并不是完全一样,涉及到大数据类型要转换成小数据时,要注意区别对待;

posted @ 2020-12-05 15:38  项安然  阅读(621)  评论(0编辑  收藏  举报