float到long是不能自动转换的吗
来源:4-4 编程练习
weixin_宝慕林1551746
2019-12-05 17:54:01
public class TypeExchange {
public static void main(String[] args) {
// 将一个整型字面值67832赋值给char类型变量c
//并将c的值输出
char c=(char)67832;
System.out.println("c="+c);
//定义一个整型变量n,值为65
int n=65;
//定义一个字符型变量c1,赋值为n,并输出c1的值
char c1=(char)n;
System.out.println("c1="+c1);
//定义一个长整型变量l,值为987654321
long l=987654321;
//定义一个整型变量i,赋值为l,并输出i的值
int i=(int)l;
System.out.println("i="+i);
//定义一个float类型变量f,将变量l的值赋值给f,并输出f的值
float f=(float)l;
System.out.println("f="+f);
//将float的值f,重新赋值给变量l,并输出l的值
l=f;
System.out.println("l="+l);
}
}
报错。l=f;为什么这里要强制执行呢
2回答
好帮手慕小脸
2019-12-06
long转float不需要强制类型转换;如下图是可以自动转换的,除此之外的数据转换需要强制转换。
如果我解决了你的疑惑,请采纳!祝学习愉快~
好帮手慕小脸
2019-12-05
同学,你好,float不能自动转换为long类型,因为float类型表示范围大于long类型,把float类型赋值为long类型,所以需要进行强制类型的转换。
具体类型转换问题可参考《步骤一:java基本语法》的java常量与变量
https://class.imooc.com/lesson/976#mid=23221
如果我的回答解决了你的疑惑,请采纳!祝学习愉快
相似问题