能进行,不会错,系统实际会把参加运算的所有变量转换为double后进行计算,只要表达式里面有一个float或者double的量,例如:int i=1;float x=5,y;y=x+i;运行的时候系统会把x和i都转换为double进行计算,最后的结果再保存为y的double类型。