第一个问题,java中小数默认为是double类型的,也就是说,你写一个常量:2.3,java会默认开辟一个double类型的空间,当你要将这个值传给float的话,就成了向下转型,是无法默认转型的,需要强制明转。或者是一开始定义好2.3为float的类型的常量,需要在float后面加一个字母 f 来标志。如下代码都是可以的:- float f1 = (float) 2.3;
- float f2 = 2.3f
复制代码 第二个问题,char类型默认是有值的,其值与ASCII码值对应。char的赋值范围为0-65535,所以你将常量5赋值给char之后,char会默认为是给予了它一个ASCII码值,而它实际上存储的也是ASCII码值,输出显示的时候再去根据码表“翻译出来”。 |