分享昨天晚上迅雷的一道笔试题Java codepublic class Test{public static void main(String[] args){int k
分享 昨天晚上迅雷的一道笔试题
Java codepublic class Test { public static void main(String[] args){ int k=0; int j=0; int w=0; for(int i=0;i<5;i++){ if(++k>2&&j++>2&&++w>2){ k++; ++j; ++w; } } System.out.println("k="+k+" "+"j="+j+" "+"w="+w); }} 写出输出结果
[解决办法] k=5 j=3 w=0
就是考察
i++ 和 ++i
&& 运算
第1次,++k=1, && 运算fail,所以只有 k变成1,j,w不变
第2次,++k=2, && 运算fail,所以只有 k变成2,j,w不变
第3次,++k=3, j++=1, && 运算fail,所以 k变成3,j变成1, w不变
第4次,k=4,j=2,w=0
第5次, k=5,j=3,但是j++返回值是2, 最后一个&&运算没有调用 ++w
[解决办法] 探讨 k=5 j=3 w=0 就是考察 i++ 和 ++i && 运算 第1次,++k=1, && 运算fail,所以只有 k变成1,j,w不变 第2次,++k=2, && 运算fail,所以只有 k变成2,j,w不变 第3次,++k=3, j++=1, && 运算fail,所以 k变成3,j变成……[解决办法] k=5 j=3 w=0
[解决办法] 考察的是 (++k>2) && (j++>2) && (++w>2) 只要一个表达式结果为false, 整个表达式就被终止了.
[解决办法] 看来我理解的有些偏差了
[解决办法] 这题其实适合初学者。
[解决办法] 这个嘛。。。运行一遍就知道结果了,知道结果就知道原因了
[解决办法] k=5 j=3 w=0
&&是短路运算
第1次,++k, k变为1,1>2不成立,遇到短路&&,所以只有 k变成1,j,w不变
第2次,++k, k变为2,2>2不成立,遇到短路&&,所以只有 k变成2,j,w不变
第3次,++k, k变为3,3>2成立,运算j++, ++在变量后面,先运算j>2,因为j=0,0>2不成立 运算j
++,j变为1,遇到短路&&,所以k变成3,j变成1,w不变还是0
第4次,++k,k变为4,4>2成立,运算j++, ++在变量后面,先运算j>2,因为j=1,1>2不成立 运算j
++,j变为2,遇到短路&&,所以k变成4,j变成2,w不变还是0
第5次,++k,k变为5,5>2成立,运算j++, ++在变量后面,先运算j>2,因为j=2,2>2不成立 运算j
++,j变为3,遇到短路&&,所以k变成5,j变成3,w不变还是0
至此,循环结束
条件没一次符合,没有执行过循环体
最后输出 k=5 j=3 w=0
[解决办法] 没有执行if中的循环体
[解决办法] 介个要是笔试题俺也无语了
[解决办法] 好好学习了
[解决办法] 第一条件为flase &&后面的条件就不执行了
[解决办法] MD 忘记短路了..
[解决办法] 题不错,思想重要啊
[解决办法] 探讨 k=5 j=3 w=0[解决办法] 新手学习下
[解决办法] MD,到现在才知道简单的东西掌握的也不是很牢靠
------解决方案--------------------
530
[解决办法] kankan xuexi
[解决办法] 不同的编译器&&的规则不一样吧,有的是前面为假就不计算后面的,有的不是
[解决办法] 不同的人,有不同认识
[解决办法] 哈哈,我单纯的认为是去考++i 和i++了
[解决办法] 探讨 k=5 j=3 w=0 就是考察 i++ 和 ++i && 运算 第1次,++k=1, && 运算fail,所以只有 k变成1,j,w不变 第2次,++k=2, && 运算fail,所以只有 k变成2,j,w不变 第3次,++k=3, j++=1, && 运算fail,所以 k变成3,j变成1, w不变 ……[解决办法] 看我为了中华人民共和国中华人民共和国中华人民共和国
[解决办法] 5 3 0
[解决办法] 这个适合初学者。。。迅雷考这种题目啊??
[解决办法] 5 3 0
循环体内一次都没执行。
[解决办法] 嘿嘿 学习下~
[解决办法] 出题的人脑子有病,考察前加后加哪有这么出题的
[解决办法] 是的是的
[解决办法] 看不懂啊
[解决办法] 占位 晚上研究。。。。。
[解决办法] i=0 k=1 j=0 w=0
i=1 k=2 j=0 w=0
i=2 k=3 j=1 w=0
i=3 k=4 j=2 w=0
i=4 k=5 j=3 w=0
[解决办法] 新手学习了~~
[解决办法] 写这样代码的人肯定是新手,代码有点垃圾。
不过,为了考试: ++i, i++ 的感念, 到是个不错的题目。
[解决办法] 我晕。跟我今天面到那个题竟然如出一辙.
[解决办法] 编程看不懂
[解决办法] =。=编程好深奥,看不懂
[解决办法] Java的啊