请老师帮忙看一下哪里有问题,怎么会运行失败呢,我检查了好几次没发现有问题啊

请老师帮忙看一下哪里有问题,怎么会运行失败呢,我检查了好几次没发现有问题啊

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=987654321l;
  //定义一个整型变量i,赋值为l,并输出i的值
     int i;
     i=(int)l;
     System.out.println("i="+i);
     //定义一个float类型变量f,将变量l的值赋值给f,并输出f的值
     float f=l;
     System.out.println("f="+f);
     //将float的值f,重新赋值给变量l,并输出l的值
     l=(long)f;
     System.out.println("l="+l);
 }
}

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

6回答
慕先生2587173 2019-07-05 16:20:56

Java中要注意大小写啊,长整型是long,不是Long;你的第二遍中就改过来了,祝学习顺利,一起加油!!

慕婉清0129613 2019-07-05 13:19:16

Long l=987654321l;首字母L大写了,应小写long

好帮手慕阿满 2019-07-01 15:06:28

同学你好,定义长整形时,一个是Long,首字母大写了,一个是long,这是不一样的,Long是long的包装类。包装类将会在步骤三中讲到,如:

http://img1.sycdn.imooc.com//climg/5d19b0d10001052702660230.jpg

这里同学先了解Long是long的包装类,是不一样的即可。

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

好帮手慕阿满 2019-07-01 11:00:58

同学你好,如下是可以自动类型转换,除此之外的转换都需要强制转换。

http://img1.sycdn.imooc.com//climg/5d1975240001195411950656.jpg

另外前后两次的代码不同之处在于定义长整形l时,如:

http://img1.sycdn.imooc.com//climg/5d1976130001633003670077.jpg

http://img1.sycdn.imooc.com//climg/5d1976b300015e9c03520068.jpg

第一次使用了Long包装类,不能将包装类Long转换为int类型,所以报错。

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

  • 提问者 精慕门8041858 #1
    什么是long包装类,不懂啊,我觉得两次写的没区别啊
    2019-07-01 11:10:18
提问者 精慕门8041858 2019-07-01 00:09:24

我又重新写了一下,又成功了,两次写的也相差不多,怎么第一次写的就出错了呢

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

提问者 精慕门8041858 2019-06-30 22:55:50

还有就是在上面的问题中的最后一步,long类型转化为float类型怎么会强制转换呢?

  • yabun #1
    同学,最后一个问题是float转换成long哦 看清题目
    2019-07-04 19:27:54
  • 去翻看一下资料中的数据类型范围,你会发现long类型的范围没有float类型表示的范围广,虽然说long类型是8个字节,float类型只有4个字节
    2019-07-11 16:14:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师