在定义数据的时候,如果有不是整形的数据(单精度,双精度之类的),那么运算的时候要在其所在式子里的数据后面加上.0,否则会出现(1/2=0、1.0/2=0.5)的现象,比如如下代码
public class cc{ public static void main (String args[]){ double sum=0; int i=1,a=1; while(i<=20){ a=a*i; sum=sum+1/a; i++; } System.out.println("sum="+sum); } }
其结果是1
而加上.0之后
public class cc{ public static void main (String args[]){ double sum=0; int i=1,a=1; while(i<=20){ a=a*i; sum=sum+1.0/a; i++; } System.out.println("sum="+sum); } }
其结果是小数