我不同意你的第一个观点
float f = 0.1 编译是会报错的,java赋值的原则是不可以将表数范围的小的类型直接赋值给大的。只管类型,而不管实际的数有没有超过。0.1默认是double型。 但是有个例外就是 byte char short可以直接用int常量赋值,只要不超过他们的表数范围,这使它成为一个考点。
另外,byte = 3+3.我试了下可以编译通过。
其实这些是我以前看马士兵的视频,里面老师是这样讲解的。
其实我觉得没必要太纠结于这些细节,只要记得这些原则就可以了,
考你一下:long l = 3000000000;是对的吗?
|