java定义float变量_Java中定义float变量时,为什么必须加f?今天舍友问到的⼀个⼩问题,也是很多同学在初学Java中,都会碰到的⼀个问题
⾸先,我们查看代码的报错举例
package tv.zhangjia.FloatDemo;
public class Test {
public static void main(String[] args) {
double d = 1.2;
float f = 1.2;//编译报错:Type mismatch: cannot convert from double to float:
//类型不匹配:⽆法从double转换为float
}
}
为什么会报错呢?是因为你在做赋值运算的时候其实等号两边的类型都是确定的,能赋值成功,⽽浮点类型默认是double,但是由于float 类型和double类型在内存中的⼆进制表现形式不同,不能像整形那样有时会默认转换,必须要确定类型,带上f
但是注意,并不是说,定义float变量时,必须加f
如下例,并不会报错
package tv.zhangjia.FloatDemo;
public class Test {
html里的float是什么意思public static void main(String[] args) {
double d = 1.2;
float f = 1;//并不会报错,因为编译器会帮你做类型转换
}
}
参考资料:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论