2-10编程练习

2-10编程练习

public class HelloWorld {

    public static void main(String[] args) {

    // 定义int类型变量,值为100

int score = 100; 

// 创建Integer包装类对象,表示变量score1的值

Integer score1=100;       

// 将Integer包装类转换为double类型

double d=score1;        

// 将Integer包装类转换为long类型

long l=score1;        

// 将Integer包装类转换为int类型

int i=score1;

//打印输出

System.out.println("score对应的Integer类型结果为:"+score1);

        System.out.println("score对应的double类型结果为:"+d);

        System.out.println("score对应的long类型结果为:"+l);

        System.out.println("重新由Integer转换为int类型的结果为:"+i);



}

}

老师,代码写完了,运行上没有问题,老师你看我的代码有需要改进的地方吗?

还有,我有点问题,1、将基本数据类型给了包装类,这时候的数据还是基本数据或是一种特殊的包装类类型?

2、一个包装类只能存储一个基本数据吗,我看课程里没讲能给Integer给多个int类型的数值。

3、包装类之间能不能转换赋值

正在回答

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

4回答

同学你好,老师回复了同学是“对的”哦~

证明同学理解的是正确的呢~

祝:学习愉快~


芝芝兰兰 2019-06-17 17:27:52

同学你好,我表述的还是不够准确,可能引起了同学的误解,精准的说法应该是:“a引用的对象赋值给了b”b是包装类对象的引用,a也是包装类的引用,不存在“b的引用”。

也就是说

Integer a=5;
Integer b=a;

可以看做是

Integer a= new Integer(5);
Integer b=a;

祝学习愉快~

  • 提问者 鱼儿0001 #1
    谢谢老师的耐心回复。仔细地看了你的回复,我突然理解到的是这样一个意思:Integer a=new Integer(5);----->Integer b=a,意思是将a引用存储的包装类对象的内存地址给了b,这时候b和a都拥有了同样的内存地址,a、b指向同一块内存空间?
    2019-06-17 19:26:25
  • 芝芝兰兰 回复 提问者 鱼儿0001 #2
    对的,可以这么理解。
    2019-06-17 19:41:04
  • 提问者 鱼儿0001 回复 芝芝兰兰 #3
    老师好。看老师回复的好勉强,到底是不是这样的
    2019-06-18 11:09:06
芝芝兰兰 2019-06-16 19:03:09

同学你好。下面来一条条解答你的疑惑:

1、变量i的声明为包装类,那么i就是包装类型的对象。将基本数据类型赋值给它,java会自动的将这个基本数据类型作为包装类的值,并且把这个有值的包装类赋值给前面接收的变量

2、对于

Integer a=5;
Integer b=a;

首先有一个变量a,是Integer类型的变量。它其中存储的数值是5。之后又有了一个变量b,它是被声明为Integer类型,将a赋值给b,这时相当于将a赋值给了b的引用。实质上它和a是同一个对象,不同的引用(名字)而已。

如果解答了同学的疑问,望采纳~

祝学习愉快~


  • 提问者 鱼儿0001 #1
    不知所云。老师在两个回答里,将包装类的对象引用竟然称为变量,课程里没有这样称呼过。在这样的前提下,老师的两个回答看的我腾云驾雾,如入幻境,四海八荒的。。。
    2019-06-17 16:48:17
好帮手慕珊 2019-06-15 18:41:35

你好!因为2-8视频小节介绍了基本数据类型和包装类的转换,所以此处的代码建议调用xxxValue()方法完成,如下所示:

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

    第一个问题:你的数据不知道指的什么。比如:Integer n=12;这里的12肯定还是个基本数据类型的数据。

   第二个问题:一个包装类对象只能存储一个数据

   第三个问题:是值不同类型的包装类之间吗?比如下面Double d=n;是不可以的。就像Cat和Dog是两个不同的类,不能把Cat类的对象赋值给Dog的引用

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

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

  • 提问者 鱼儿0001 #1
    谢谢老师的耐心回复。1、我问的第1个问题是这意思,将int类型数值5给了Integer i,这时候这个对象的引用i,i是不是等于5呢?2、根据老师的回复,相同类型的包装类之间可以进行赋值吗?如,Integer a=5;Integer b=a;老师这是把a=5的值赋给了b吗?
    2019-06-16 15:16:32
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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