锁定老帖子 主题:一道经典面试题想到的
精华帖 (3) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-04-17
i2534 写道 phenix9527 写道 int x = 10;
int y = 20; x = y+0*(y=x); 这个方法比较好,我以前有看到过 这个太赞了 这个 低层 用了中间变量 |
|
返回顶楼 | |
发表时间:2010-04-17
hiqrf 写道 i2534 写道 phenix9527 写道 int x = 10;
int y = 20; x = y+0*(y=x); 这个方法比较好,我以前有看到过 这个太赞了 这个 低层 用了中间变量 ? 算违背题意吗 |
|
返回顶楼 | |
发表时间:2010-04-17
x = y+0*(y=x);
这个实际上是有隐含变量的. |
|
返回顶楼 | |
发表时间:2010-04-18
hiblue 写道 x = y+0*(y=x);
这个实际上是有隐含变量的. 你指的隐含变量是哪个? |
|
返回顶楼 | |
发表时间:2010-04-18
最后修改:2010-04-18
但如果两个变量是对象类型,java(强类型)貌似无能为力了。js却可以,实现方式还不少,如下:
var a = {name:'jack'},b = {name:'tom'}; a = [a,b]; b = a[0]; a = a[1]; console.log(a.name+'\n'+b.name)
如果是这样的话,JAVA也可以啊。
Object x = 10; Object y = 20; x = new Object[]{x, y}; y = ((Object[]) x)[0]; x = ((Object[]) x)[1]; System.out.println("x=" + x + ",y=" + y); |
|
返回顶楼 | |
发表时间:2010-04-18
lbfhappy 写道 hiblue 写道 x = y+0*(y=x);
这个实际上是有隐含变量的. 你指的隐含变量是哪个? 用来保存0*(y=x)的值,你研究一下编译原理就明白了。 |
|
返回顶楼 | |
发表时间:2010-04-18
呵呵
int x = 10; int y = 20; x = y+0*(y=x); 这个方法比较好,我以前有看到过 这个好 |
|
返回顶楼 | |
发表时间:2010-04-18
int x = 10;
int y = 20; x = y+0*(y=x); 这个方法比较好,我以前有看到过 这个赞 ![]() |
|
返回顶楼 | |
发表时间:2010-04-18
phenix9527 写道 int x = 10;
int y = 20; x = y+0*(y=x); 这个方法比较好,我以前有看到过 这个我还真是第一次看过!牛! |
|
返回顶楼 | |
发表时间:2010-04-19
phenix9527 写道 int x = 10;
int y = 20; x = y+0*(y=x); 这个方法比较好,我以前有看到过 学习了,谢谢! |
|
返回顶楼 | |