老师,你好,为什么我的代码运行输出结果,c=后面的小框框图标没有显示,其他的都运行出来了。
来源:4-4 编程练习
slumdog
2019-03-24 12:17:03
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;
f=(float)l;
System.out.println("f="+f);
//将float的值f,重新赋值给变量l,并输出l的值
l=(long)f;
System.out.println("l="+l);
}
}
1回答
好像是因为,char的范围只有0~65535;
你给的数值超出了,强制转换时丢失了精度,不知道变成了什么数字,然后那个数字刚好对应的字符就是空字符还是啥不显示的字符,所以就看不到,不知道这样理解对不对
相似问题