为什么10可以赋值给byte,short和int而没有编译错误!
float f = 10.0; // error
float f = 10.0f; // ok
10.0的默认类型是double,double赋值给float,当然不行。
再看:
char c = 10; // ok
byte b = 10; // ok
short s = 10; // ok
int i = 10; // ok
10的默认类型是int,int赋值给char,byte,short,为什么就可以呢?
在java中10这个常量到底是怎么存放的呢?和String类型的常量(例如“hello”)是一样的吗?
是数字的整型常量都存为32位整型吗?