(后记:没有想到华为的面试题就是非同一般,很多题不是一眼就能够看得出来,至少对我这种鸟来说是这样。对我个人来说,看看这样的题,可能比看《ThinkInJava》都还要好,因为这里面有很多的东西,都是我们平时没有太在意,或者是只是懂一点皮毛而已,通过做一下这样的练习,把自己不知道、不熟悉的知识点,利用这个机会好好的巩固一下。这些答案是我自己做的,有一些是从网上来的,有一部是自己做的,并且还有一部份没有做完,我不敢保证都对,所以请你在引用的时候,务必通过自己核对一下。当然,我既然能够把这些答案放在这里,那说明我肯定是自己检验了一遍的,也不是那么恐怖的)QUESTIONNO:lassTest1{ publicstaticvoidchangeStr(Stringstr){ str="e"; } publicstaticvoidmain(String[]args){ Stringstr="1234"; changeStr(str); (str); }}//输出结果:1234//这里虽然是一个静态方法,但是里面的变量是一个局部变量,//所以这里不因为是静态方法,就误认为里面的变量也是静态变量了 QUESTIONNO:lassTest2{ staticbooleanfoo(charc){ (c); returntrue; } publicstaticvoidmain(String[]argv){ inti=0; //for(65;88&&(i<2);67) for(foo('A');foo('B')&&(i<2);foo('C')){ i++; foo('D'); } }}/*Whatistheresult?.//输出结果是:ABDCBDCB分析:FOR循环里面讲究的条件要为真,与你的判断式是什么没有关系就像这里,虽然是打印的字母,但是却不是false,所以可以执行第一次进行循环:foo('A')打印字母A,(注:这里不是false条件就默认为true条件)foo('B')打印字母B,i=0,比较(i<2),条件为true,进行循环体,foo('D')打印Dfoo('C')打印字母C第二次循环:foo('B')打印B,i=1,比较(i<2)为true,进行循环体,foo('D')打印Dfoo('C')打印字母C第三次循环:foo('B')打印字母B,i=2,比较(i<2)为false,退出循环,得结果*/ QUESTIONNO:3 {(inta,intb){return0;}3.}WhichtwoarevalidinaclassthatextendsclassA?(Choosetwo)(inta,intb){return0;}(inta,intb){return0;}
华为的JAVA面试题 来自淘豆网m.daumloan.com转载请标明出处.