<strike id="6q0um"></strike>
  • <strike id="6q0um"><s id="6q0um"></s></strike>
  • <ul id="6q0um"></ul><strike id="6q0um"></strike>

    當前位置:高考升學網 > 招聘筆試題 > 正文

    Java經典筆試題和面試題答案

    更新:2023-09-15 21:08:46 高考升學網

      這些題目對我的筆試幫助很大,有需要的朋友都可以來看看,在筆試中能遇到的題目基本上下面都會出現,雖然形式不同,當考察的基本的知識點還是相同的。

      Simulated Test of SCJP for JAVA2 PlatFORM (only for training))

      網上可以找到很多,因為我是轉載ICXO網站的,但是上面的有很多可能有由于頁面原因,每個題目我都做了測試,出現錯誤的我就稍微做了下修正,希望和大家一起研究和探討,在分析中肯定有不足和謬誤的地方還請大蝦們能夠給予及時的糾正,特此感謝。

      1.

      public class ReturnIt{

      returnType methodA(byte x, double y){ //line 2

      return (short)x/y2;

      }

      }

      what is valid returnType for methodA in line 2?

      答案:返回double類型,因為(short)x將byte類型強制轉換為short類型,與double類型運算,將會提升為double類型.

      2.

      1) class Super{

      2) public float getNum(){return 3.0f;}

      3) }

      4)

      5) public class Sub extends Super{

      6)

      7) }

      which method, placed at line 6, will cause a compiler error?

      A. public float getNum(){return 4.0f;}

      B. public void getNum(){}

      C. public void getNum(double d){}

      D. public double getNum(float d){return 4.0d;}

      Answer:B

      A屬于方法的重寫(重寫只存在于繼承關系中),因為修飾符和參數列表都一樣.B出現編譯錯誤,如下:

      Sub.java:6: Sub 中的 getNum() 無法覆蓋 Super 中的 getNum();正在嘗試使用不

      兼容的返回類型

      找到:void

      需要:float

      public void getNum(){}

      ^

      1 錯誤

      B既不是重寫也不是重載,重寫需要一樣的返回值類型和參數列表,訪問修飾符的限制一定要大于被重寫方法的訪問修飾符(public>protected>default>private);

      重載:必須具有不同的參數列表;

      可以有不同的返回類型,只要參數列表不同就可以了;

      可以有不同的訪問修飾符;

      把其看做是重載,那么在java中是不能以返回值來區分重載方法的,所以b不對.

      3.

      public class IfTest{

      public static void main(String args[]){

      int x=3;

      int y=1;

      if(x=y)

      System.out.println("Not equal");

      else

      System.out.println("Equal");

      }

      }

      what is the result?

      Answer:compile error 錯誤在與if(x=y) 中,應該是x==y; =是賦值符號,==是比較操作符

      4. public class Foo{

      public static void main(String args[]){

      try{return;}

      finally{ System.out.println("Finally");}

      }

      }

      what is the result?

      A. print out nothing

      B. print out "Finally"

      C. compile error

      Answer:B java的finally塊會在return之前執行,無論是否拋出異常且一定執行.

      5.public class Test{

      public static String output="";

      public static void foo(int i){

      try {

      if(i==1){

      throw new Exception();

      }

      output +="1";

      }

      catch(Exception e){

      output+="2";

      return;

      }

      finally{

      output+="3";

      }

      output+="4";

      }

      public static void main(String args[]){

      foo(0);

      foo(1);

      24)

      }

      }

      what is the value of output at line 24? Answer:13423 如果你想出的答案是134234,那么說明對return的理解有了混淆,return是強制函數返回,本題就是針對foo(),那么當執行到return的話,output+="4"; 就不再執行拉,這個函數就算結束拉.

      6. public class IfElse{

      public static void main(String args[]){

      if(odd(5))

      System.out.println("odd");

      else

      System.out.println("even");

      }

      public static int odd(int x){return x%2;}

      }

      what is output?

      Answer:Compile Error

      7. class ExceptionTest{

      public static void main(String args[]){

      try{

      methodA();

      }

      catch(IOException e){

      System.out.println("caught IOException");

      }

      catch(Exception e){

      System.out.println("caught Exception");

      }

      }

      }

      If methodA() throws a IOException, what is the result? (其實還應該加上:import java.io.;)

      Answer:caught IOException 異常的匹配問題,如果2個catch語句換個位置,那就會報錯,catch只能是越來越大,意思就是說:catch的從上到下的順序應該是:孫子異常->孩子異常->父親異常->老祖先異常.這么個順序.

      8. int i=1,j=10;

      do{

      if(i++>--j) continue;

      }while(i<5); (注意不要丟了這個分號呦)

      After Execution, what are the value for i and j?

      A. i=6 j=5

      B. i=5 j=5

      C. i=6 j=4

      D. i=5 j=6

      E. i=6 j=6

      Answer:D

      9. 1)public class X{

      2) public Object m(){

      3) Object o=new Float(3.14F);

      4) Object[] oa=new Object;

      5) oa[0]=o;

      6) o=null;

      7) oa[0]=null;

      8) System.out.println(oa[0]);

      9) }

      10) }

      which line is the earliest point the object a refered is definitely elibile

      to be garbage collectioned?

      A.After line 4 B. After line 5 C.After line 6

      D.After line 7 E.After line 9(that is,as the method returns)

      Answer:D

      如果 6) o=null 變成 o=9f ,并且把7)去掉,那么8)將會輸出什么呢?

      10. 1) interface Foo{

      2) int k=0;

      3) }

      4) public class Test implements Foo{

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

      6) int i;

      7) Test test = new Test();

      8) i = test.k;

      9) i = Test.k;

      10) i = Foo.k;

      11) }

      12) }

      what is the result? Answer:compile successed and i=0 接口中的int k=0雖然沒有訪問修飾符,但在接口中默認是static和final的

      11. what is reserved words in java?

      A. run

      B. default

      C. implement

      D. import

      Answer:B,D

      12. public class Test{

      public static void main(String[] args){

      String foo=args;

      Sring bar=args;

      String baz=args[3];

      }

      }

      java Test Red Green Blue

      what is the value of baz?

      A. baz has value of ""

      B. baz has value of null

      C. baz has value of Red

      D. baz has value of Blue

      E. baz has value of Green

      F. the code does not compile

      G. the program throw an exception

      Answer:G

      分析:感覺原應該多一些語句吧,至少應該有紅綠藍的賦值語句之類的,才能叫java Test Red Green Blue 才能有后面的選項,所以現在感覺很奇怪,不過就這個樣子吧.這個問題在于:數組參數的理解,編譯程序沒有問題,但是運行這個程序就會出現問題,因為參數args沒有給他分配空間那么他的長度應該是0,下面卻用拉args........等等的語句,那么定會出現越界錯誤.

      錯誤如下:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

      at Test.main(Test.java:4)

      13. int index=1;

      int foo[]=new int[3];

      int bar=foo[index];

      int baz=bar+index;

      what is the result?

      A. baz has a value of 0

      B. baz has value of 1

      C. baz has value of 2

      D. an exception is thrown

      E. the code will not compile

      Answer:B

      分析:《thinking in java》中的原話:若類的某個成員是基本數據類型,即使沒有進行初始化,java也會確保它獲得一個默認值,如下表所示:

    基本類型默認值
    booleanfalse
    char'/u0000'(null)
    byte(byte)0
    short(short)0
    int0
    long0L
    float0.0f
    double0.0d

      千萬要小心:當變量作為類的成員使用時,java才確保給定其默認值,。。。。。(后面還有很多話,也很重要,大家一定要看完成,要不然還是不清楚)

      14. which three are valid declaraction of a float?

      A. float foo=-1;

      B. float foo=1.0;

      C. float foo=42e1;

      D. float foo=2.02f;

      E. float foo=3.03d;

      F. float foo=0x0123;

      Answer:A,D,F 分析:B錯誤,因為1.0在java中是double類型的,C,E錯誤同樣道理,都是double類型的

      15. public class Foo{

      public static void main(String args[]){

      String s;

      System.out.println("s="+s);

      }

      }

      what is the result?

      Answer:compile error 分析:需要對s進行初始化,和13題是不是矛盾呢:不矛盾,因為它不是基本類型,也不是類的成員,所以不能套用上述的確保初始化的方法。

    最新圖文

    2020年河北新聞網兩學一做

    時間:2023-09-18 07:0:24

    2020年河北新聞網兩學一做

    時間:2023-09-15 11:0:59

    兩學一做學習教育知

    時間:2023-09-21 06:0:30

    2020年開展兩學一做學習教

    時間:2023-09-19 21:0:30
    亚洲狠狠综合久久| 亚洲XX00视频| 亚洲精品国产自在久久| 亚洲av日韩综合一区久热| 亚洲色偷偷综合亚洲av78| 亚洲人成网站色在线观看| 2020国产精品亚洲综合网| 33333在线亚洲| 亚洲www77777| 狠狠色伊人亚洲综合网站色 | 国产亚洲精品精品国产亚洲综合 | 亚洲福利视频一区二区三区| 亚洲黄色免费网址| 亚洲精品国产福利片| 亚洲国产精品综合福利专区| 亚洲人成7777影视在线观看| 99999久久久久久亚洲| 亚洲色大成网站WWW国产| 亚洲av无码成人精品区一本二本| 亚洲heyzo专区无码综合| 国产精品亚洲综合| 亚洲日韩在线观看免费视频| 亚洲欧洲日产国码高潮αv| 久久久无码精品亚洲日韩软件 | 亚洲综合av一区二区三区不卡| 中中文字幕亚洲无线码| 亚洲精品av无码喷奶水糖心| 在线看亚洲十八禁网站| 亚洲熟伦熟女新五十路熟妇| 亚洲一区二区三区偷拍女厕| 亚洲va无码手机在线电影| 亚洲国产成人私人影院| 亚洲国产美女视频| 亚洲熟妇无码八V在线播放| 亚洲AV无码片一区二区三区| 亚洲精品国产综合久久一线| 日本红怡院亚洲红怡院最新| 亚洲第一精品福利| 亚洲Av无码一区二区二三区| 亚洲AV无码一区二区三区网址| 亚洲熟女乱综合一区二区|