输出结果依赖于输出时的格式。
目前初始值:
i为8进制表示, 十进制值为8
j本身即是十进制,值为10
k为16进制,其十进制值为16.
答案是BA:s==t 判断的是两个对象的引用地址是否相等,因为不是同一个对象肯定不相等
B:s.equals(t)//这个判断,首先判断t是不是float类型,然后调用floatToIntBits方法,将float转成int进行比较,两个肯定相等了。
C:u.equals(s) //因为s不是Double类型,不符合判断条件,所以返回false
D:t.equals(u);//因为u不是Float类型,不能比较,所以返回false
答案是B因为C语言中"="是赋值号if(x=y+z)是计算出y+z的值然后赋值给x,这个式子是永远成立的,所以会输出***
如果说要改错的话,应该改为if(x==y+z),构成逻辑表达式后,才符合程序设计的初衷。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)