.NET中也是同理。
知识预热:(看到最后有彩蛋)
1、在Java中,默认的整形常量的类型是int类型。
2、如果int类型转换为short类型,那么不强制转换必定会报错。
那么问题来了:
已知条件:
short num=10;
情况一:
num=num+2;
情况二:
num+=1;
请问上面的两种情况是否会报错?如果不会那么结果是多少呢?
情况一:
情况二:
总结:
1、情况一:因为在Java中常量的默认数据类型是int类型,则相当于把short类型与int类型的数据进行运算,得到的结果是int类型,但是将一个int类型的数据在不经过强制转换的情况下赋值给short类型,那么编译时必定会报错。
2、情况二:但是num+=2;它是不改变变量本身的数据类型,所以它不会报错。
彩蛋:
short number=1;
short result=0;
情况一:
result=number+1;
情况二:
result=number++;
该结果与正文中的结果一样。
感谢您的阅读,希望我的分享对您有所帮助。