类型转换相关面试题

类型转换

            int a=10;
            double b=3.4;
            System.out.println(a>b?a:b);
            System.out.println(a);
/*输出:10.0   10
解析:这里是一个很容易让人不注意的类型转化,这里a与b参与了运算,
所以类型向类型大的方向转化,10就变成了10.0,但是a本身是没有变化的*/

+=的情况

            short a=1;	//第一行
            a=a+1;		//第二行
            a+=1;		//第三行
        
/*第几行的代码会出错?
答案:第二行会出错,由于a+1变为了int类型,而int类型不能直接赋值给short类型
但是+=这种情况是特殊的,所以不会出错;
*/

包装类型与基本类型比较

        Integer a1 = 127;
        Integer a2 = 127;
        int a3 = 127;
        Integer b1 = 128;
        Integer b2 = 128;
        int b3 = 128;
        System.out.println(a1 == a2);  //T
        System.out.println(a1 == a3);  //T
        System.out.println(b1 == b2);  //F
        System.out.println(b1 == b3);  //T
/*输出:
解析:自动装箱时采用valueOf方法,由于127在静态数组的范围内,所以不是new的,
而128的两个引用是指向new出现对象的,所以第一个是true,第三个是false。
而包装类和基本数据类型比较时,只要数值是相等的,就相等
*/

包装类和基本数据类型比较时,只要数值是相等的,就相等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值