<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • java考試試題及答案

    時間:2024-10-25 09:20:20 賽賽 JAVA認證 我要投稿

    java考試試題及答案

      無論是在學習還是在工作中,只要有考核要求,就會有試題,試題有助于被考核者了解自己的真實水平。一份好的試題都是什么樣子的呢?以下是小編精心整理的java考試試題及答案,歡迎大家分享。

    java考試試題及答案

      java考試試題及答案 1

      簡答應用題

      1.下面程序運行后,可以使用上下左右鍵移動組件。 補充下畫線部分的代碼。

      import java.awt.*;

      import java.awt.event.*;

      public class E6 extends Frame implements keyListener

      {

      TextField b1;

      int x,y;

      E6()

      {

      setLayout (new FlowLayout());

      b1 = new TextField("走");

      __[1]__

      b.addkeyListener(this);

      setSize (200,120);

      addWindowListener(new WindowListener()

      {

      public void windowClosing(WindowEvent e)

      {

      System.exit(0);

      }

      });

      }

      public void keyPressed(KeyEvent e)

      {

      x=b1.getBouds().x;

      y=b1.getBouds().y;

      if(e.getKeyCode()==__[2]__)

      {

      y=y-3;

      if(y<=1)y=50;

      b1.setLocation(x,y);

      }

      if(e.getkeyCode()==keyEven.VK_DOWN)

      {

      y=y+3;

      if(y>=100)y=50;

      b1.setLocation(x,y);

      }

      if(e.getkeyCode()==keyEvent.VK_LEFT)

      {

      x=x-3;

      if(x<=1)x=50;

      __[3]__;

      }

      if(e.getkeyCode()==keyEvent.VK_RIGHT)

      {

      x=x+3;

      if(x>=100)x=50;

      b1.setLocation(x,y);

      }

      }

      public void keyTyped(KeyEvent e)

      {}

      public void keyReleased(KeyEvent e)

      {}

      public static void main (String args[])

      {

      E6 a = new E6();

      __[4]__;

      }

      }

      2.下面程序是從命令窗口界面輸入圓半徑,然后計算球圓面積與周長。把劃線部分填上語句,將程序補充完整。

      import java.io.*;

      public class Qiumianji

      {

      public static void main (String args[ ])

      {

      int a = 0;

      double b,c;

      Sting s;

      try{

      BufferedReader br =new BufferedReader (new InputStreamReader (___【1】__));

      s = br.readLine();

      a = __【2】__;

      }

      catch(IOExcepion e)

      {}

      b = 3.14*a*a;

      c = 2*3.14*a;

      System.out.println(”該圓面積為”+b+””+”周長為”+c);

      }

      }

      java考試試題及答案 2

      1. 下面哪些是Thread類的方法()

      A start() B run() C exit() D getPriority()

      答案:ABD

      解析:看Java API docs吧:http://docs.oracle.com/javase/7/docs/api/,exit()是System類的方法,如System.exit(0)。

      2. 下面關于java.lang.Exception類的說法正確的是()

      A 繼承自Throwable B Serialable CD 不記得,反正不正確

      答案:A

      解析:Java異常的基類為java.lang.Throwable,java.lang.Error和java.lang.Exception繼承 Throwable,RuntimeException和其它的Exception等繼承Exception,具體的RuntimeException繼承RuntimeException。

      擴展:錯誤和異常的區別(Error vs Exception)

      1) java.lang.Error: Throwable的子類,用于標記嚴重錯誤。合理的應用程序不應該去try/catch這種錯誤。絕大多數的錯誤都是非正常的,就根本不該出現的。

      java.lang.Exception: Throwable的子類,用于指示一種合理的程序想去catch的條件。即它僅僅是一種程序運行條件,而非嚴重錯誤,并且鼓勵用戶程序去catch它。

      2) Error和RuntimeException 及其子類都是未檢查的異常(unchecked exceptions),而所有其他的Exception類都是檢查了的異常(checked exceptions).

      checked exceptions: 通常是從一個可以恢復的程序中拋出來的,并且最好能夠從這種異常中使用程序恢復。比如FileNotFoundException, ParseException等。檢查了的異常發生在編譯階段,必須要使用try…catch(或者throws)否則編譯不通過。

      unchecked exceptions: 通常是如果一切正常的話本不該發生的異常,但是的確發生了。發生在運行期,具有不確定性,主要是由于程序的邏輯問題所引起的。比如ArrayIndexOutOfBoundException, ClassCastException等。從語言本身的角度講,程序不該去catch這類異常,雖然能夠從諸如RuntimeException這樣的異常中catch并恢復,但是并不鼓勵終端程序員這么做,因為完全沒要必要。因為這類錯誤本身就是bug,應該被修復,出現此類錯誤時程序就應該立即停止執行。 因此,面對Errors和unchecked exceptions應該讓程序自動終止執行,程序員不該做諸如try/catch這樣的事情,而是應該查明原因,修改代碼邏輯。

      RuntimeException:RuntimeException體系包括錯誤的類型轉換、數組越界訪問和試圖訪問空指針等等。

      處理RuntimeException的原則是:如果出現 RuntimeException,那么一定是程序員的錯誤。例如,可以通過檢查數組下標和數組邊界來避免數組越界訪問異常。其他(IOException等等)checked異常一般是外部錯誤,例如試圖從文件尾后讀取數據等,這并不是程序本身的錯誤,而是在應用環境中出現的外部錯誤。

      3. 下面程序的運行結果是()

      String str1 = "hello";

      String str2 = "he" + new String("llo");

      System.err.println(str1 == str2);

      答案:false

      解析:因為str2中的llo是新申請的內存塊,而==判斷的是對象的地址而非值,所以不一樣。如果是String str2 = str1,那么就是true了。

      4. 下列說法正確的有()

      A. class中的constructor不可省略

      B. constructor必須與class同名,但方法不能與class同名

      C. constructor在一個對象被new時執行。

      D.一個class只能定義一個constructor

      答案:C

      解析:這里可能會有誤區,其實普通的類方法是可以和類名同名的,和構造方法唯一的區分就是,構造方法沒有返回值。

      5. 具體選項不記得,但用到的知識如下:

      String []a = new String[10];

      則:a[0]~a[9] = null

      a.length = 10

      如果是int []a = new int[10];

      則:a[0]~a[9] = 0

      a.length = 10

      6. 下面程序的運行結果:()

      public static void main(String args[]) {

      Thread t = new Thread() {

      public void run() {

      pong();

      }

      };

      t.run();

      System.out.print("ping");

      }

      static void pong() {

      System.out.print("pong");

      }

      #FormatImgID_0#

      A pingpong B pongping C pingpong和pongping都有可能 D 都不輸出

      答案:B

      解析:這里考的是Thread類中start()和run()方法的區別了。start()用來啟動一個線程,當調用start方法后,系統才會開啟一個新的線程,進而調用run()方法來執行任務,而單獨的調用run()就跟調用普通方法是一樣的,已經失去線程的特性了。因此在啟動一個線程的時候一定要使用start()而不是run()。

      7. 下列屬于關系型數據庫的是()

      A. Oracle B MySql C IMS D MongoDB

      答案:AB

      解答:IMS(Information Management System )數據庫是IBM公司開發的兩種數據庫類型之一;

      一種是關系數據庫,典型代表產品:DB2;

      另一種則是層次數據庫,代表產品:IMS層次數據庫。

      非關系型數據庫有MongoDB、memcachedb、Redis等。

      8. GC線程是否為守護線程?()

      答案:是

      解析:線程分為守護線程和非守護線程(即用戶線程)。

      只要當前JVM實例中尚存在任何一個非守護線程沒有結束,守護線程就全部工作;只有當最后一個非守護線程結束時,守護線程隨著JVM一同結束工作。

      守護線程最典型的應用就是 GC (垃圾回收器)

      9. volatile關鍵字是否能保證線程安全?()

      答案:不能

      解析:volatile關鍵字用在多線程同步中,可保證讀取的可見性,JVM只是保證從主內存加載到線程工作內存的值是最新的讀取值,而非cache中。但多個線程對

      volatile的寫操作,無法保證線程安全。例如假如線程1,線程2 在進行read,load 操作中,發現主內存中count的值都是5,那么都會加載這個最新的值,在線程1堆count進行修改之后,會write到主內存中,主內存中的count變量就會變為6;線程2由于已經進行read,load操作,在進行運算之后,也會更新主內存count的變量值為6;導致兩個線程及時用volatile關鍵字修改之后,還是會存在并發的情況。

      10. 下列說法正確的是()

      A LinkedList繼承自List

      B AbstractSet繼承自Set

      C HashSet繼承自AbstractSet

      D WeakMap繼承自HashMap

      答案:AC

      解析:下面是一張下載的Java中的集合類型的繼承關系圖,一目了然。

      #FormatImgID_1#

      11. 存在使i + 1 < i的數嗎()

      答案:存在

      解析:如果i為int型,那么當i為int能表示的最大整數時,i+1就溢出變成負數了,此時不就

      擴展:存在使i > j || i <= j不成立的數嗎()

      答案:存在

      解析:比如Double.NaN或Float.NaN,感謝@BuilderQiu網友指出。

      12. 0.6332的數據類型是()

      A float B double C Float D Double

      答案:B

      解析:默認為double型,如果為float型需要加上f顯示說明,即0.6332f

      13. 下面哪個流類屬于面向字符的輸入流( )

      A BufferedWriter B FileInputStream C ObjectInputStream D InputStreamReader

      答案:D

      解析:Java的IO操作中有面向字節(Byte)和面向字符(Character)兩種方式。

      面向字節的操作為以8位為單位對二進制的數據進行操作,對數據不進行轉換,這些類都是InputStream和OutputStream的子類。

      面向字符的操作為以字符為單位對數據進行操作,在讀的時候將二進制數據轉為字符,在寫的時候將字符轉為二進制數據,這些類都是Reader和Writer的子類。

      總結:以InputStream(輸入)/OutputStream(輸出)為后綴的是字節流;

      以Reader(輸入)/Writer(輸出)為后綴的是字符流。

      14. Java接口的修飾符可以為()

      A private B protected C final D abstract

      答案:CD

      解析:接口很重要,為了說明情況,這里稍微啰嗦點:

      (1)接口用于描述系統對外提供的所有服務,因此接口中的成員常量和方法都必須是公開(public)類型的,確保外部使用者能訪問它們;

      (2)接口僅僅描述系統能做什么,但不指明如何去做,所以接口中的方法都是抽象(abstract)方法;

      (3)接口不涉及和任何具體實例相關的細節,因此接口沒有構造方法,不能被實例化,沒有實例變量,只有靜態(static)變量;

      (4)接口的中的變量是所有實現類共有的,既然共有,肯定是不變的東西,因為變化的東西也不能夠算共有。所以變量是不可變(final)類型,也就是常量了。

      (5) 接口中不可以定義變量?如果接口可以定義變量,但是接口中的方法又都是抽象的,在接口中無法通過行為來修改屬性。有的人會說了,沒有關系,可以通過 實現接口的.對象的行為來修改接口中的屬性。這當然沒有問題,但是考慮這樣的情況。如果接口 A 中有一個public 訪問權限的靜態變量 a。按照 Java 的語義,我們可以不通過實現接口的對象來訪問變量 a,通過 A.a = xxx; 就可以改變接口中的變量 a 的值了。正如抽象類中是可以這樣做的,那么實現接口 A 的所有對象也都會自動擁有這一改變后的 a 的值了,也就是說一個地方改變了 a,所有這些對象中 a 的值也都跟著變了。這和抽象類有什么區別呢,怎么體現接口更高的抽象級別呢,怎么體現接口提供的統一的協議呢,那還要接口這種抽象來做什么呢?所以接口中 不能出現變量,如果有變量,就和接口提供的統一的抽象這種思想是抵觸的。所以接口中的屬性必然是常量,只能讀不能改,這樣才能為實現接口的對象提供一個統 一的屬性。

      通俗的講,你認為是要變化的東西,就放在你自己的實現中,不能放在接口中去,接口只是對一類事物的屬性和行為更高層次的抽象。對修改關閉,對擴展(不同的實現 implements)開放,接口是對開閉原則的一種體現。

      所以:

      接口的方法默認是public abstract;

      接口中不可以定義變量即只能定義常量(加上final修飾就會變成常量)。所以接口的屬性默認是public static final 常量,且必須賦初值。

      注意:final和abstract不能同時出現。

      15. 不通過構造函數也能創建對象嗎()

      A 是 B 否

      答案:A

      解析:Java創建對象的幾種方式(重要):

      (1) 用new語句創建對象,這是最常見的創建對象的方法。

      (2) 運用反射手段,調用java.lang.Class或者java.lang.reflect.Constructor類的newInstance()實例方法。

      (3) 調用對象的clone()方法。

      (4) 運用反序列化手段,調用java.io.ObjectInputStream對象的 readObject()方法。

      (1)和(2)都會明確的顯式的調用構造函數 ;(3)是在內存上對已有對象的影印,所以不會調用構造函數 ;(4)是從文件中還原類的對象,也不會調用構造函數。

      坐完筆試后,很多人都希望能提前預知面試題目,最好的方法就是整理一些經典的面試題,java面試的專業性比較強,如果你的基礎不夠扎實,那么最好找些經典的java面試題及答案分析,提前參透一下吧!

      java面試題1、說說HashMap和Hashtable的差別

      答案分析:

      都屬于Map接口的類,實現了將惟一鍵映射到特定的值上。

      HashMap類沒有分類或排序。他允許一個null鍵和多個null值。

      Hashtable類似于HashMap,不過不允許null鍵和null值。他也比HashMap慢,因為他是同步的。

      java面試題2、Anonymous Inner Class (匿名內部類)是否能extends(繼承)其他類,是否implements(實現)interface(接口)?

      答案分析:

      匿名的內部類是沒有名字的內部類。不能extends(繼承)其他類,但一個內部類能作為一個接口,由另一個內部類實現。

      java面試題3、STRING與STRINGBUFFER的區別是什么?

      答案分析:

      STRING的長度是不可變的,STRINGBUFFER的長度是可變的。如果你對字符串中的內容經常進行操作,特別是內容要修改時,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法。

      java面試題4、什么時候用assert

      答案分析:

      斷言是個包含布爾表達式的語句,在執行這個語句時假定該表達式為true。如果表達式計算為false,那么系統會報告一個AssertionError,他用于調試目的。

      java面試題5、Set里的元素是不能重復的,那么用什么方法來區分重復和否呢?是用==還是equals()?他們有何差別?

      答案分析:

      Set里的元素是不能重復的,那么用iterator()方法來區分重復和否。equals()是判讀兩個Set是否相等。

      equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值。

      java面試題6、List, Set, Map是否繼承自Collection接口?

      答案分析:

      List,Set是

      Map不是

      java考試試題及答案 3

      選擇題

      1). 下面( )是合法的標識符。

      A.$persons

      B.2Users

      C.*poi nt

      D.this

      正確答案:A

      答案解析:本題考查Java 標識符的命名,屬于考試重點內容,應該掌握。Java 中標識符的命名規則是:標識符以字母、下畫線或美元符作為首字符的字符串序列;標識符是區分大小寫的;標識符的字符數沒有限制。由此可見,Java 中標識符不能以數字開頭,所以選項B錯誤;不能以“*”開頭,選項C錯誤;this 是專用標識符,具有專門的意義和用途,選項D 錯誤,只有選項A 正確。

      2). 設有一個已按各元素的值排好序的順序表(長度大于2),現分別用順序查找法和二分查找法查找與給定值k相等的元素,比較的次數分別是s和b,在查找不成功情況下s和b的關系是( )。

      A.s =b

      B.s>b

      C.s

      D.s>=b

      正確答案:B

      答案解析:順序查找的'基本思想是:從表的一端開始,順序掃描線性表,依次將掃描到結點的關鍵字和給定值k進行比較,若當前掃描到結點的關鍵字與k相等,則查找成功;若掃描結束后,仍未找到關鍵字等于k的結點,則查找失敗。二分查找法是一種效率較高的查找方法,要求線性表是有序表。基本思想是:首先將待查的k值和有序表R[O]~R[n -1]的中間位置mid上的結點的關鍵字進行比較,若相等,則查找完成;否則,若R[mi d]. key>k,則說明待查找的結點只可能在左子表R[O]~R[mi d -1]中,我們只需在左子表中繼續進行折半查找,若R[mi d]. key

      3). 定義一個表示10個值為null的字符串數組,下面選項正確的是( )。

      A.String []a;

      B.String a[];

      C.char a[10][];

      D.String a[]=new String[10];

      正確答案:D

      答案解析:本題考查字符串數組變量的聲明。選項A和選項B的效果是一樣的,都是用來定義一個字符串數組,但沒有指明數組個數,不滿足題目要求;選項C是一個二維的字符數組,在C語言中,一個二維的字符數組就可以表示一個一維的字符串數組,而在Java中,字符char是基本類型,字符串String則是以對象的形式來表示的;選項D正確,它定義了一個含有10個元素的字符串數組,如果沒有給字符串數組賦值,則默認為null。

      4). Thread類中能運行線程的方法是( )。

      A.resume()

      B.start()

      C.run()

      D.init()

      正確答案:C

      答案解析:resume()是Thread類提供的用于線程控制的方法;start()是Thread類中的方法,新建的線程不會自動運行,必須調用線程的start()方法才能運行該線程;run()是Thread類中的方法,在該方法中定義了線程的具體行為,線程開始執行時,就是從它的run()方法開始執行的,就像Java應用程序從main()開始、Applet從init()開始一樣;init()不是Thread類中的方法。

      5). 在面向對象的方法中,一個對象請求另一個對象為其服務的方式是通過發送

      A.調用語句

      B.命令

      C.口令

      D.消息

      正確答案:D

      6). 下列的( )原始類型在使用流時可以互換。

      A.byte和boolean

      B.char和int

      C.byte和char

      D.String和char

      正確答案:B

      答案解析:本題考查Java語言中字節類型的概念。在Java語言中,byte是字節類型,用1字節表示.boolean是布爾類型,用true和false表示,它們的表示方法并不一樣,也不提供它們之間的轉換,選項A錯誤。Java內部用整數來表示char,通常可以在方法調用和其他語句中互換使用char和int,選項B正確。char用2字節表示,byte字節類型用l字節表示,Java內部也不允許互換使用它們,選項C錯誤。String在Java語言中是一個類,它提供對字符串的一系列操作,而char是Java語言中的一個基本類型,它不是一個類,兩者有本質的區別,故而它們是不能互換使用的,選項D錯誤。需要注意的是,在Java語言中提供的類都是以大寫字母開頭,基本類型都用小寫字母表示。

      7). 下列說法中,不屬于數據模型所描述的內容是( )。

      A.數據結構

      B.數據操作

      C.數據查詢

      D.數據約束

      正確答案:C

      答案解析:數據模型所描述的內容包括三個部分

    【java考試試題及答案】相關文章:

    java認證考試試題及答案03-04

    2017年JAVA考試試題及答案02-26

    java基礎筆試題及答案03-03

    2016最新java考試題庫及答案03-09

    java考試習題及答案03-26

    java面試題2017及答案03-06

    2017年Java筆試題及答案03-09

    2016年Java筆試題及答案03-12

    Java工程師面試常考試題及答案03-12

    主站蜘蛛池模板: 欧美精品国产一区二区| 精品免费久久久久国产一区| 国产精品美女WWW爽爽爽视频| 亚洲国产精品无码成人片久久| 国产精品 日韩欧美| 久久久无码精品亚洲日韩按摩 | 精品国偷自产在线视频| 国产午夜福利精品久久2021| 日本国产精品久久| 国产精品高清2021在线 | 亚洲精品自产拍在线观看| 国产精品国产AV片国产| 华人亚洲欧美精品国产| 久久国产亚洲精品无码| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 国产精品va无码一区二区| 色偷偷88欧美精品久久久| 好湿好大硬得深一点动态图91精品福利一区二区 | 人妻AV一区二区三区精品| 亚欧无码精品无码有性视频 | 亚洲精品成人片在线观看精品字幕 | 91精品国产自产在线老师啪| 97精品久久天干天天天按摩| 久久久久亚洲精品无码蜜桃| 亚洲精品成人a在线观看| 欧美 日韩 精品 另类视频| 精品国产福利盛宴在线观看| 国产精品色视频ⅹxxx | 日本一卡精品视频免费| 在线观看91精品国产网站| 日本精品久久久久久久久免费| 国内精品久久久久久久涩爱 | 麻豆精品久久精品色综合| 国产成人精品视频播放| 国产精品兄妹在线观看麻豆| 国精品无码一区二区三区左线| 精品无人区一区二区三区| 国产精品无码a∨精品| 国产精品国产三级国产av品爱网| 精品一区二区三区波多野结衣| 国产午夜精品无码|