float和double的区别:
带小数点的默认是double型,精度类型不一样,float在计算机内部一般用32位二进制表示,而double用64位表示,相对精度更高。至于报错错,是由于java默认浮点类型字面量为double类型,所以需要做个强制类型转换:float a = (float) 1.1; or float a = 1.1f; 一般推荐后一种表示,比较直观。至于什么情况下会用到float,一般是根据精度要求来选择吧,另外double是64位二进制表示,一般在读取值的会需要2次的load内存操作,对多线程来说有一定的影响,会造成并发问题。
print()不能输出格式化字符串
printf()和format()可以输出格式化字符串