半斤八两(一个有趣的java题)

日期:12-29| http://www.59wj.com |二级JAVA模拟试题|人气:851

半斤八两(一个有趣的java题) 1.半斤
本题目需要写点代码哦,好消息是,你只需为这个谜题编写两行代码,并为下一个谜题也编写两行代码。这有什么难的呢?问题是怎样给出一个对变量x和i的声明,使得下面这条语句合法:
x += i;
但是,下面这条语句不合法:
x = x + i;
2.八两
与上面的例子相反,如何声明变量x和i,使如下的语句合法:
x = x + i;
但是,下面这条语句不合法:
x += i; 
 
/***********************
思考
***********************/
 
我的答案是:
1。short x=1, i=1;
/******
解释:
x=x+i;可以看成3个过程,x与i相加,然后强制转换成int,然后再试图赋给short,报错。
因为short加运算之后都会强制转换成int,包括byte相加也是这样。
x+=i;中间就没有转换成int的过程了。
*******/
 
2。Object x=new Object(); String i="";
/******
解释:
x=x+i;这个可以等价看成x=i+x;,我们知道在java里面唯一重载运算符的是String的+运算,所以这里就是这个运算,结果得到一个新的String对象试图赋给Object,OK。
x+=i;如果是C++里面,我们可以认为这里是调用Object类的+operator函数,可惜java里面没有这个重载,所以报错了。
*******/ www.59wj.com 如果觉得《半斤八两(一个有趣的java题)》二级JAVA模拟试题,jsj不错,可以推荐给好友哦。
本文Tags: 计算机等级考试 - 模拟试题 - 计算机二级模拟试题 - 二级JAVA模拟试题,jsj,
在百度中搜索相关文章:半斤八两(一个有趣的java题)
在谷歌中搜索相关文章:半斤八两(一个有趣的java题)
在soso中搜索相关文章:半斤八两(一个有趣的java题)
在搜狗中搜索相关文章:半斤八两(一个有趣的java题)
相关分类导航|
热门推荐|