JAVA数据类型_面试题

short s1=1;
s1=s1+1;//1
short s2=1;
s2+=1;//2

对于注释1来说,在s1+1运算时自动提升为int类型,所以将int赋值给short类型会出现类型转换错误,除非加上强转。
对于注释2来说,+=是java语法的规定符,所以java编译器会对它进行特殊类型处理,可以正确编译执行。


Java的Integer和int有什么区别
int是java内置基本数据类型之一,java为每个基本类型都提供了一个封装类,Integer就是int的封装类;
int变量的默认值为0,Integer默认值为null,Integer能区分出未赋值和值为0的区别;
Integer类内部提供了一些关于操作整数的方法。


java中float f=3.4;是否正确
不正确,3.4是双精度表示,将双精度行赋值给单精度属于向下转型,会造成精度损失,因此需要强转类型转换float f=(float)3.4;或者写成float f=3.4F;才可以。

你可能感兴趣的:(javaSE)