为什么我c1的值输出是65.0?

来源:4-4 编程练习

慕盖茨6318478

2020-05-12 17:00:21

public class TypeExchange {
    public static void main(String[] args) {
     char c=(char)67832;
  System.out.println("c="+c);
  // 将一个整型字面值67832赋值给char类型变量c
  //并将c的值输出
  int n=65;
  //定义一个整型变量n,值为65
  double c1=(int)n;
  System.out.println("c1="+c1);
  //定义一个字符型变量c1,赋值为n,并输出c1的值
  long l=987654321;
  //定义一个长整型变量l,值为987654321
   int i=(int)l;
   System.out.println("i="+i);
  //定义一个整型变量i,赋值为l,并输出i的值
     float f=(long)l;
     System.out.println("f="+f);
     //定义一个float类型变量f,将变量l的值赋值给f,并输出f的值
     long l1=(long)f;
     System.out.println("l="+l1);
     //将float的值f,重新赋值给变量l,并输出l的值
 
 }
}


写回答

1回答

好帮手慕阿园

2020-05-12

同学你好,输出65.0是因为同学强转使用double接收的,应该用char类型去接收;并且强转应该是char类型的,而不是int类型

http://img.mukewang.com/climg/5eba6e46097f90d504140094.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

0

0 学习 · 16556 问题

查看课程