编程中
2015-07-13 17:26
public class HelloWorld{
public static void main(String[] args) {
double avg1=78.5;
int rise=5;
int avg3=avg1;
int avg2=avg3+rise;
System.out.println("考试平均分:"+avg1);
System.out.println("调整后的平均分:"+avg2);
}
}
简单的说,强制就是不计后果,可能会报错,隐式就是java认为的合理范围内,不会造成什么过错
比如,int型转成double为什么可以隐式呢,因为int型后面跟多少个0,都不会对数据有什么影响,但double型转成int型时,小数点后的值就会没掉,这个小数点后的值如果是钱,没掉了要你自己负责,因为你强制要转的
public class HelloWorld{
public static void main(String[] args) {
double avg1=78.5;
int rise=5;
int avg3=avg1;
int avg2=(int)avg3+rise;
System.out.println("考试平均分:"+avg1);
System.out.println("调整后的平均分:"+avg2);
}
}
改成这样应该就可以了吧?int 不包含double,但是可以强制double转换int.
原来我把double与int float的包含关系弄错了
double为双精度浮点数,float为单精度浮点数,int为整型。int可以稳式转换成float和double,float只能强制转换成int,但是可以隐式转换成double,double只能强制转换成float和int。
但什么叫强制,什么叫隐式?
Java入门第一季(IDEA工具)升级版
1165178 学习 · 17581 问题
相似问题