Java经典笔试题和面试题答案(2)

更新时间:2018-11-22 15:53作者:王华老师

      16. 1) public class Test{

      2) public static void main(String args[]){

      3) int i =0xFFFFFFF1;

      4) int j=~i;

      5)

      6) }

      7) }

      which is decimal value of j at line 5?

      A. 0 B.1 C.14 D.-15 E. compile error at line 3 F. compile error at line 4

      Answer:C 分析:int是32位的(范围应该在-231~231-1),按位取反后,后4位是1110,前面的全部是0,所以肯定是14

      17. float f=4.2F;

      Float g=new Float(4.2F);

      Double d=new Double(4.2);

      Which are true?

      A. f==g B. g==g C. d==f D. d.equals(f) E d.equals(g) F. g.equals(4.2);

      Answer:B,E(网上的答案是B,E;我测试的结果是:true,true,false,false,fasle,fasle,所以答案是:A,B,还请各位大虾明示)

      分析:以下是我从网络上找到的,但是感觉应用到这个题目上反而不对拉,郁闷中,希望能给大家有所提示,要是你们明白拉,记得给我留言啊!:~

      1.基本类型、对象引用都在栈中; 而对象本身在堆中;

      2.==比的是两个变量在栈内存中的值,而即使变量引用的是两个对象,==比的依旧是变量所拥有的栈内存地址值;

      3.equals()是每个对象与生俱来的方法,因为所有类的最终基类就是Object(除去Object本身);而equals()是Object的方法之一,也就是说equals()方法来自Object类。 观察一下Object中equals()的source code:

      public boolean equals(Object obj) { return (this == obj); }

      注意:return (this == obj) this与obj都是对象引用,而不是对象本身。所以equals()的缺省实现就是比较对象引用是否一致,所以要比较两个对象本身是否一致,须自己编写代码覆盖Object类里的equals()的方法。来看一下String类的equals方法代码:

      public boolean equals(Object anObject){

      if(this == anObject){

      return true;

      }

      if(anObject instanceof String){

      String anotherString = (String)anObject;

      int n = count;

      if(n == anotherString.count){

      char v1[] = value;

      char v2[] = anotherString.value;

      int i = offset;

      int j = anotherString.offset;

      while(n-- != 0){

      if(v1[i++] != v2[j++])

      return false;

      }

      return true;

      }

      }

      return false;

      }

      18. public class Equals{

      public static void add3(Integer i){

      int val = i.intValue();

      val += 3;

      i = new Integer(val);

      }

      public static void main(String args[]){

      Integer i=new Integer(0);

      add3(i);

      System.out.println(i.intValue());

      }

      }

      what is the result?

      A. compile fail B.print out "0" C.print out "3"

      D.compile succeded but exception at line 3

      Answer:B 分析:java只有一种参数传递方式,那就是值传递.(大家可以看我转载的另一个同名文章,会让大家豁然开朗)

      19. public class Test{

      public static void main(String[] args){

      System.out.println(6^3);

      }

      }

      what is output? Answer:5 分析: ^ is yi huo(计算机器上是Xor) ;异或的逻辑定义:真^真=假 真^假=真 假^真=真 假^假=假

      20. public class Test{

      public static void stringReplace(String text){

      text=text.replace('j','l');

      }

      public static void bufferReplace(StringBuffer text){

      text=text.append("c");

      }

      public static void main(String args[]){

      String textString=new String("java");

      StringBuffer textBuffer=new StringBuffer("java");

      stringReplace(textString);

      bufferReplace(textBuffer);

      System.out.println(textString+textBuffer);

      }

      }

      what is the output?

      Answer:javajavac

      分析:根据我转载的一篇文章可以得出答案,不过还有几个类似的题目,用该文章解释不通,因为本人对java传递参数也一直没有弄明白,所以,还请大虾多多指教.

      21. public class ConstOver{

      public ConstOver(int x, int y, int z){}

      }

      which two overload the ConstOver constructor?

      A.ConstOver(){}

      B.protected int ConstOver(){}  //not overload ,but no a error

      C.private ConstOver(int z, int y, byte x){}

      D.public void ConstOver(byte x, byte y, byte z){}

      E.public Object ConstOver(int x, int y, int z){}

      Answer:A,C

      分析:测试不通过的首先是B,E,因为要求有返回值,这2个选项没有,要想通过编译那么需要加上返回值,请注意如果加上返回值,单纯看选项是没有问题拉,可以针对题目来说,那就是错之又错拉,对于构造器来说是一种特殊类型的方法,因为它没有返回值.对于D选项在91页有详细的介绍,空返回值,经管方法本身不会自动返回什么,但可以选择返回别的东西的,而构造器是不会返回任何东西的,否则就不叫构造器拉.

      22. public class MethodOver{

      public void setVar(int a, int b, float c){}

      }

      which overload the setVar?

      A.private void setVar(int a, float c, int b){}

      B.protected void setVar(int a, int b, float c){}

      C.public int setVar(int a, float c, int b){return a;}

      D.public int setVar(int a, float c){return a;}

      Answer:A,C,D 分析:方法的重载,根据概念选择,B是错误的,因为他们有相同的参数列表,所以不属于重载范围.

      23. class EnclosingOne{

      public class InsideOne{}

      }

      public class InnerTest{

      public static void main(String args[]){

      EnclosingOne eo=new EnclosingOne();

      //insert code here

      }

      }

      A.InsideOne ei=eo.new InsideOne();

      B.eo.InsideOne ei=eo.new InsideOne();

      C.InsideOne ei=EnclosingOne.new InsideOne();

      D.InsideOne ei=eo.new InsideOne();

      E.EnclosingOne.InsideOne ei=eo.new InsideOne();

      Answer:E

      24. What is "is a" relation?

      A.public interface Color{}

      public class Shape{private Color color;}

      B.interface Component{}

      class Container implements Component{ private Component[] children; }

      C.public class Species{}

      public class Animal{private Species species;}

      D.interface A{}

      interface B{}

      interface C implements A,B{}  //syntex error

      Answer:B 我没有明白这个题目的意思,有人能告诉我嘛?

      25. 1)package foo;

      2)

      3)public class Outer{

      4) public static class Inner{

      5) }

      6)}

      which is true to instantiated Inner class inside Outer?

      A. new Outer.Inner()

      B. new Inner()

      Answer:B

      if out of outerclass A is correct 分析:在Outer内部,B方式实例化内部类的方法是正确的,如果在Outer外部进行inner的实例化,那么A方法是正确的.

    为您推荐

    2019年两会《政府工作报告》养老金新政策,要提高养老保障水平

    《关于2018年中央和地方预算执行情况与2019年中央和地方预算草案的报告》要求,提高养老保障水平。从2019年1月1日起,按平均约5%的幅度提高企业和机关事业单位退休人员基本养老金标准。

    2019-06-13 04:57

    如何在另类面试问题中胜出

    在面试中,有些考官会先提一个不甚友好的问题,或者劈头浇你一盆冷水,让你在委屈和激愤中露出本色。在他看来,击溃你的心理防线,才能筛选出有心理承受能力的智者,找到能面对压力的新鲜血液。要想在压力面试中胜出,只能学会绕开陷阱,奋战到底。

    2019-06-08 03:00

    面试紧张时应该怎么办

    面试是进入公职机关的最后一道主要的门槛,因此可以说每一位进入面试的人,心里就像绷住一根弦一样,也就是说每位考生,都会以高度的精神状态去抓住这次进入角色的机会。出现紧张、焦虑的心情也是不可避免的,只有认识了解,才能完全的克服。

    2019-06-08 02:58

    面对变故 学会自我解嘲

    面对降级、减薪、甚至解雇、离婚、丧子等变故,许多人反应过度,很长时间缓不过劲儿来。而有的人却能很快度过,重返正常的生活轨道。其决定因素是一种特殊的心理素质:心理复原力。有了它,人们不怕挫折;而缺少它,会特别害怕受伤害,不敢付出行动。

    2019-06-06 03:12

    办公室里该与不该谈论的话题

    办公室是一个充满原则、纪律,讲求策略的场合,更是一个充满利益冲突的是非之所。既如此,办公室里谈个人私事是否妥当呢?网上调查显示,尽管九成以上的人认为“办公室里隐私不宜说”,但是她/他们又同时承认有在办公室里谈论涉及私人感情、家庭关系、同事喜恶和上下级关系等隐私性内容的行为。

    2019-06-06 03:10

    面试自我介绍的几大原则

    应聘到外企或其他用人单位时,求职者往往最先被问及的问题就是“请先介绍介绍你自己”。这个问题看似简单,但求职者一定要慎重对待,它是你突出优势和特长,展现综合素质的好机会。回答得好,会给人留下良好的第一印象。

    2019-06-01 03:19

    外企面试必须要注意的五“必要”

    到外企面试前,仅仅准备好一份简历是不够的,还要提前做好面试前的“功课”,这样面试通过的几率就会大大增加。

    2019-06-01 03:16

    加载中...