问题:
E:\java\zuoye>javac Assignl2.java
Assignl2.java:9: 可能损失精度
找到: double
需要: float
float res=a/b;
^
1 错误
源代码如下:
int d=100;
int e=3;
int res1=d/e;
System.out.println("res1="+res1);
E:\java\zuoye>javac Assignl2.java
Assignl2.java:9: 可能损失精度
找到: double
需要: float
float res=a/b;
^
1 错误
源代码如下:
int d=100;
int e=3;
int res1=d/e;
System.out.println("res1="+res1);
double d=100;
double e=3;
float res1=d/e;
System.out.println("res1="+res1);
//但是提问题时,改正确之后才发帖
整数类型默认int long num=200000L;
浮点类型默认为double float num=3.14F;
如果没有这个F,那么double num=3.14和 float num=3.14 效果一样:都是double类型。
所以d/e 是double类型。double转float 是显示转换。所以要强转。