我今天刚去应聘的一道笔试题,帮我分析一下?
public class Bishiti
{
static boolean fan(char a)
{
System.out.print(a);
return true;
}
public static void main(String args[])
{
int i=0;
for(fan( 'a ');fan( 'b ')&&i <2;fan( 'c '))
{
i++;
fan( 'd ');
}
}
}
大家先别去运行,先分析分析,在去运行一下。为什么是那样的结果?
------解决方案--------------------public class Bishiti
哈哈,笑死了
------解决方案--------------------大相径庭.....
------解决方案--------------------abdcbdcb
scjp的
------解决方案--------------------abdcbdcb
------解决方案--------------------知道for是怎么工作的就可以了,楼主真逗!
------解决方案--------------------这个题曾经有人问过
印象考的是两个知识点
1,for();是怎样的执行顺序;(f(a)-> fan( 'b ')-> i <2-> -> i++-> fan( 'd ')-> fan( 'c ')-> f(b)-> i(=1) < 2 -> i++ -> fan( 'd ') -> -> fan( 'c ') -> fan(b)-> i (==2) <(2)(停止))
2,&&的执行顺序.但是看这道题好像就不必考虑2的情况了
------解决方案--------------------这好像挺简单的
只是仔细点
------解决方案--------------------不错,这个问题,主要考察细心与基本知识的
所涉及知识点:
1,for()循环中的初始值的的应用,步长的增加。
2,&&的应用。(我现在还有点疑惑:&&与&的区别?????)
------解决方案--------------------不错,这个问题,主要考察细心与基本知识的
所涉及知识点:
1,for()循环中的初始值的的应用,步长的增加。
2,&&的应用。(我现在还有点疑惑:&&与&的区别?????)
++++++++++++++++++++++++++++++++++++++++++++++++
&两边都要进行运算,而用&&是左边为假时不进行右边的运算.
------解决方案--------------------不错的题~~~~
跟同事讨论了下,希望大家给意见:
主要了解for的执行顺序
1:执行fan( 'a '),输出a
2:执行fan( 'b '),输出b
3:fan( 'b ')&&i <2为真, 执行i++;fan( 'd ');i=1,输出d
4:执行fan( 'c '),输出c
5:执行fan( 'b '),输出b
6:fan( 'b ')&&i <2为真, 执行i++;fan( 'd ');i=2,输出d
7:执行fan( 'c '),输出c
8:执行fan( 'b '),输出b
9:fan( 'b ')&&i <2为假,停止~~~~~~~~~