java中整数变量的运算结果至少为int类型。

java中整数变量的运算结果至少为int类型。
例1.1:
class Test
{
	public static void main(String[] args)
	{
		short a = 1;
		short b = 2;
		short c = a+b;	//编译报错,会提醒你进行修改
	}
}

例1.2:
class Test
{
	public static void main(String[] args)
	{
		byte a = 1;
		byte b = 2;
		byte c = 1+2;//正常	
	}
}

其中short型与byte型相似,为什么编译时会报错提醒呢?

根据提醒内容可知,是基本数据类型转换的问题,但为啥变量参与运算后返回的结果为啥是int型的呢???

可以理解归结为:
java变量参与运算规则:变量参与的结果至少为int型,若有long型或者double型变量参与运算时,返回结果就为long型或者double型。

验证1:
class Test
{
	public static void main(String[] args)
	{
		short a = 1;
		short b = 2;
		short c = a+b;	//编译报错,会提醒你进行修改
	}
}

验证2:
class Test
{
	public static void main(String[] args)
	{
		byte a = 1;
		byte b = 2;
		int c = 1l+b;	//编译报错,会提醒你进行修改
	}
}

你可能感兴趣的:(java中整数变量的运算结果至少为int类型。)