欄目:應屆資訊 人氣:0 日期:2022-12-01
免費提供最新落戶政策及一對一落戶上海方案
留學生/應屆生/非婚子女 落戶上海咨詢
? Java語言中下面那個可以用作正確的變量名稱? A.name??B.3D??C.implements??D.extends? 下列標識符(名字)命名原則中,正確的是左邊()右邊?? ??A.?類名的首字母小寫 B.?變量和方法名的首寫字母大寫 C.?接口名的首寫字母小寫 D.?常量完全大寫 Java程序的執行過程中用到一套JDK工具,其中java.exe是指左邊()右邊?? A.Java文檔生成器?B.Java解釋器 C.Java編譯器?D.Java類分解器 解析: Java編譯器:將Java源文件(.java文件)編譯成字節碼文件(.class文件,是特殊的二進制文件,二進制字節碼文件)。javac.exe可以簡單看成是Java編譯器。 Java解釋器:是JVM的一部分。Java解釋器用來解釋執行Java編譯器編譯后的程序。java.exe可以簡單看成是Java解釋器。 ???? JDBC中,用于表示數據庫連接的對象是 A.StatementB.ConnectionC.DriverManagerD.PreparedStatement JDBC中,用于調用存儲過程的對象是:??? A.ResultSet B.DriverManager C.CallableStatemet D.PreparedStatement 下列說法正確的是? A.一個文件里可以存在兩個public修飾的類 B,final修飾的類可以被繼承 C,子類不可以訪問父類非public和protected修飾的屬性(子類可以訪問父類public和protected修飾的屬性) D,構造函數可以被重寫(override) 解析:protected的意思是本包可以訪問,子類可以繼承。 ? 下列哪一項的敘述是正確的? A,聲明抽象方法,大括號可有可無 B,abstract修飾符可以修飾字段、方法、和類 C,聲明抽象方法不可寫出大括號 D,抽象方法的body部分必須用一對大括號{}包住 解析:abstract是抽象的意思,在java中,規定只能修飾類或者方法,所以不能修飾屬性。? ? ? 下面的程序輸出結果為? publicstaticvoidmain(String[]args){ ??????intx=-3; ??????inty=-10; ??????System.out.println(y%x); ???} A,-1????????B,2???????C,1????????D,3 ? 計算方法:先忽略除數和被除數的符號,按正數取模,結果與被除數同號 ? (?)類是所有異常類的父類 A,Throwable??B,Error??C,Exception??D,AWTError 解析:Thorwable類(表示可拋出)是所有異常和錯誤的父類 Error是程序無法處理的錯誤,它是由JVM產生和拋出的,比如OutOfMemoryError、ThreadDeath等。這些異常發生時,Java虛擬機(JVM)一般會選擇線程終止。 Exception是程序本身可以處理的異常,這種異常分兩大類運行時異常和非運行時異常(編譯時異常)。程序中應當盡可能去處理這些異常。? ? 已知如下類說明,如下那個使用是正確的? A,t.f????B,this.n????C,Test.n?????D,Test.m ? ? ? Java應用開發中字符集編碼通常情況下優先采用以下那種? A,UTF-8???B,iso8859-1???C,GB2312??D,ASCII ? Java訪問限定的修飾符不包括? A,public????B,private??C,default???D,final? ? 下列會觸發JVM垃圾回收的是? A,當新對象生成,并且在Eden申請空間失敗時 B,Old區被寫滿 C,在循環中創建大量對象 D,使用Class.forName加載外部類 解析:一般情況下,當新對象生成,并且在Eden申請空間失敗時,就會觸發ScavengeGC,對Eden區域進行GC,清除非存活對象,并且把尚且存活的對象移動到Survivor區。然后整理Survivor的兩個區。這種方式的GC是對年輕代的Eden區進行,不會影響到年老代。因為大部分對象都是從Eden區開始的,同時Eden區不會分配的很大,所以Eden區的GC會頻繁進行。因而,一般在這里需要使用速度快、效率高的算法,使Eden去能盡快空閑出來。 ? 以下程序的運行結果? A,運行出錯??????B,編譯有兩處錯誤 C,thisis?a?Person?this?isa?teacher?tom?? D,thisis?a?teacher?this?isa?Person?tom?? ? 2.?如下代碼 publicclassTest{ publicintaMethod左邊()右邊{ staticinti=0; i++; returni; } publicstaticvoidmain(Stringargs[]){ Testtest=newTest左邊()右邊; test.aMethod左邊()右邊; intj=test.aMethod左邊()右邊; System.out.println(j); } } 輸出結果是什么?? A.0 B.1 C.2 D.?編譯失敗 ? ? ? 下面程序輸出結果為? 答案:staticA????staticB????I'mAclass????HelloA????I'mBclass????HelloB ?解析:加載順序如下: ??????Java程序(初始化)的執行順序(或使用new關鍵字時類的執行順序): ??????父類靜態變量---->父類靜態代碼塊---->子類靜態變量---->子類靜態代碼塊---->父類非靜態變量---->父類構造代碼塊(非靜態代碼塊)---->父類構造方法---->子類非靜???????態變量---->子類構造代碼塊(非靜態代碼塊)---->子類構造方法 ? 將整數數組(7-6-3-5-4-1-2)按照堆排序的方式進行排序,請問在第一輪排序結束以后,數組的順序是? A,5-4-3-2-1-6-7????????B,1-2-3-4-5-6-7 C,2-6-3-5-4-1-7????????D,6-5-3-2-4-1-7 ? 構造函數什么時候被調用? A,創建對象時??????B,使用對象的變量時 C,調用對象方法時??D,類定義時 ? 以下所列的HTTP協議的狀態碼,表示內部服務器錯誤的是? A,402???B,404???C,500?????D,501 解析:200-請求成功,?301-資源(網頁等)被永久轉移到其它URL,404-請求的資源(網頁等)不存在,500-內部服務器錯誤 ? 有如下程序段:total最終值為? A,1????????B,0???????C,6????????D,3 ? 下列關于整型類型的說法中,正確的是? A,short類型的數據存儲順序先低后高 B,Integer.MAX_VALUE表示整型最大值 C,Long.MIN_VALUE表示整型最大值 D,long類型表示數據范圍和int類型一樣 ? 在使用super和this關鍵字的時候,以下描述正確的是? ?????A,在子類構造方法中使用super左邊()右邊顯示調用父類的構造方法,super左邊()右邊必須寫在子類構造方法的第一行,否則編譯不通過 ?????B,super左邊()右邊和this左邊()右邊不一定要放在構造方法內第一行 ?????C,this左邊()右邊和super左邊()右邊可以同時出現在一個構造函數中 ?????D,this左邊()右邊和super左邊()右邊可以在static環境中使用,包括static方法和static語句塊 ????解析: ????調用super左邊()右邊和this左邊()右邊必須寫在子類構造方法的第一行,否則編譯不通過。 ????每個子類構造方法的第一條語句,都是隱含地調用super左邊()右邊,如果父類沒有這種形式的構造函數,那么在編譯的時候就會報錯。 ?????super左邊()右邊和this左邊()右邊類似,區別是super左邊()右邊從子類中調用父類的構造方法,this左邊()右邊在同一類內調用其它方法。 ????盡管可以用this左邊()右邊調用一個構造器,但卻不能調用兩個,即this左邊()右邊和super左邊()右邊不能同時出現在一個構造函數里面。 ? ?23.以下程序代碼的輸出是? A.3???B.5???C.6???D.11 ?解析: 按位與?&:全1為1,?其他的為0 按位或|:全0為0,其他為1 異或?^:相同為0,不同為1 ?6==> 3==> 6^3==>=5 ? 24.下面哪項不是response對象的方法左邊()右邊 ????A.setContentType(StringcontentTypestr) ????B.setHeader(Stringheadername,Stringheadervalue) ????C.getParameter(Stringstr) ????D.sendError(interrorcode) ? 25.下面哪項不屬于SQL語句的子類(??D?) ???A.?數據定義語言(DDL) ???B.?數據查詢語言(DQL) ???C.?事務控制語言(TCL) ???D.?數據插入語言?(DIL) ? ? 26.?按照學生平均成績(avg_grade)將students表中的數據檢索出來,下面SQL語句正確的是(?多選) ???A)SELECT*FROMstudentsORDERBYavg_grade ???B)SELECT*FROMstudentsGROUPBYavg_gradeASC ???C)SELECT*FROMstudentsORDERBYavg_gradeDESC ???D)SELECT*FROMstudentsORDERbyavg_gradeasc ? 27.不能用來修飾interface的有(多選?) A.private??B.public??C.protected??D.static ? 28.下面的語句中正確的表達式為? A.byteb=128; B.booleann=null; C.doubled=0.9239d; D.floatf=0.9239; 解析: Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。 byte:長度1字節(8位),最大值127(2^7-1),最小值-128(-2^7),默認值0,128超出表示范圍 boolean:值只能為true或false,默認值false float:賦值格式為x.xxf,默認值0.0f,后面必須加f,double則可加可不加d,因為虛擬機默認浮點型為double類型 long:賦值格式為xxxL(不區分大小寫),默認值0L ? 29.以下程序代碼的輸出是? A.0????B.4????C.8????D.12????E.不能編譯通過 解析: boolean類型既可以使用&&和||做邏輯運算,也可以使用&和|做邏輯運算,但前者是經過優化的(執行短路運算),后者未優化。 使用邏輯或|做邏輯運算時,m1左邊()右邊|m2左邊()右邊中,當m1左邊()右邊為true時,依然會執行后面的m2左邊()右邊函數。這是與邏輯或||的區別。 method(8);沒有執行 ? 30.有可能引發StackOverflowError的原因可能是 A,缺少內存 B,寫數據到不可用內存地址 C,遞歸調用 D,數組索引超出邊界 解析: ? 31.下面哪個流類屬于面向字符的輸入流(?) A、BufferedWriter B、FileInputStream C、ObjectInputStream D、InputStreamReader 解析: Java的IO操作中有面向字節(Byte)和面向字符(Character)兩種方式。? 面向字節的操作為以8位為單位對二進制的數據進行操作,對數據不進行轉換,這些類都是InputStream和OutputStream的子類。? 面向字符的操作為以字符為單位對數據進行操作,在讀的時候將二進制數據轉為字符,在寫的時候將字符轉為二進制數據,這些類都是Reader和Writer的子類。 Java流類圖結構: ? ?32.下列哪個敘述是正確的 A.final類可以有子類。 B.abstract類中只可以有abstract方法。 C.abstract類中可以有非abstract方法,但該方法不可以用final修飾。 D.不可以同時用final和abstract修飾同一個方法。 E.允許使用static修飾abstract方法。 ?解析: 用final修飾的類是不允許被繼承的,A錯誤? abstract類中也可以有普通成員方法,B錯誤? abstract類中的非abstract方法是可以用final修飾的,而abstract方法是不可以被final修飾的,C錯誤 不允許使用final、static修飾abstract方法,E錯誤。 ? 33.當檢索一個壓縮文件時,首先要建立壓縮文件輸入流對象,該對象 A、以選中的壓縮文件為參數 B、以FileInputStream對象為參數 C、以InputStreamReader對象為參數 D、以BufferedReader對象為參數 在java.io包中提供了對壓縮文件進行操作的能力。它是通過壓縮文件輸入流與壓縮文件輸出流來實現的,其分別繼承自InflaterInputStream與DeflaterOutputStream。 在創建壓縮文件輸入流時,其初始化參數是一個FileInputStream類的實例。 ? 34.下面關于InputStream類的說法不正確的是:? A、InputStream是抽象類 B、InputStream是字節流 C、InputStream是輸入流 D、InputStream是InputStreamReader的父類 ? ?35.下列關于內部類的說法不正確的是?(?) A,內部類的類名只能在定義它的類或程序段中或在表達式內部匿名使用 B,內部類可以使用它所在類的靜態成員變量和實例成員變量 C,內部類不可以用abstract修飾符定義為抽象類 D,內部類可作為其他類的成員,而且可訪問它所在類的成員 ?解析: 內部類不僅可以用abstract修飾定義為抽象類,也可以用private或protected定義,所以選項C說法錯誤。 ? 36.下列哪個方法可以用來加載JDBC驅動程序? A、類java.sql.DriverManager的getDriver方法 B、類java.sql.DriverManager的getDrivers方法 C、類java.sql.Driver的connect方法 D、類java.lang.Class的forName方法 ? 37.下面哪項可以得到數組元素的個數,Java中定義數組名為abc? A、abc.length左邊()右邊 B、abc.length C、len(abc) D、ubound(abc) ? 38.通過流的read左邊()右邊方法讀取數據,如何判斷流結尾?? A、返回-1表示流結尾 B、返回null表示流結尾 C、返回0表示流結尾 D、遇到流結尾將拋出異常 ? 39.在JDBC編程中執行完下列SQL語句:SELECTname,rank,serialNoFROMemployee,能得到rs的第一列數據的代碼是哪一個?? A、rs.getString(0); B、rs.getString(name); C、rs.getString(1); D、rs.getString(“ename”); ? 40.如果為下列預編譯SQL的第三個問號賦值,那么正確的選項是哪一個?? UPDATEempSETename=?,job=?,salary=?WHEREempno=?; A、pst.setInt(“3”,2000); B、pst.setInt(3,2000); C、pst.setFloat(“empno”,20); D、pst.setString(“salary”,“2000”); ? 41.下列語句序列執行后,k的值是?? intx=6,y=10,k=5; switch(x%y) { case0:k=xy; case6:k=x/y; case12:k=x-y; default:k=xy-x; } A、60 B、5 C、0 D、54 ? 42.下列Java代碼,運行的結果為(C) A、發生編譯錯誤,提示構造函數錯誤 B、程序可正常運行,輸出結果:大家好,我是貓咪 C、程序可正常運行,但什么都不輸出 D、程序運行時出現異常 ?解析: 構造函數沒有返回值,cat左邊()右邊函數用void的修飾后不能作為構造函數,只作為普通函數,被調用后才執行。 其實普通的類方法是可以和類名同名的,和構造方法唯一的區分就是,構造方法沒有返回值。 ? 43.關于靜態的描述錯誤的有? A、在內存中只有一份,供所有對象公用,起到全局的作用 B、靜態成員變量/類變量只初始化一次,就是在類剛剛加載的時候 C、每次在創建對象,靜態變量和方法都重新加載并分配新的堆內存 D、它們不能以任何方式引用this或super ?解析: 靜態變量只在類加載時初始化一次,存放在JVM內存的方法區中 ? 44.下列代碼輸出的結果是:? Stringname=“NASDAQ歡迎你”; StringnewName=name.substring(4,7); System.out.println(newName); A、DAQ B、SDAQ歡 C、AQ歡迎 D、AQ歡 解析: substring(起始索引:從0開始——包括,結束索引:不包括)? ? 45.以下對重載描述錯誤的是 A、方法重載只能發生在一個類的內部 B、構造方法不能重載 C、重載要求方法名相同,參數列表不同 D、方法的返回值類型不是區分方法重載的條件 ? 46.以下對自定義異常描述正確的是 A、自定義異常必須繼承Exception B、自定義異??梢岳^承自Error C、自定義異??梢愿用鞔_定位異常出錯的位置和給出詳細出錯信息 D、程序中已經提供了豐富的異常類,使用自定義異常沒有意義 ? 47.要刪除book表中書籍(bookName)是”java”的記錄,以下代碼正確的是 Stringsql=”deletefrombookwherebookName=?”; PreparedStatementpst=con.preparedStatement(sql); —————————— pst.execute左邊()右邊; A、pst.setString(1,”java”); B、pst.setString(0,”java”); C、pst.setInt(0,”java”); D、以上選項都不正確 ? 48.獲取ResutlSet對象rst的第一行數據,以下正確的是 A、rst.hashNext左邊()右邊; B、rst.next左邊()右邊; C、rst.first左邊()右邊; D、rst.nextRow左邊()右邊; ? 49、以下負責建立與數據庫連接的是 A、Statement B、PreparedStatement C、ResultSet D、DriverManager ? 50、使用JDBC連接數據庫的順序是 A)加載驅動 B)導入驅動包 C)發送并處理SQL語句 D)建立于數據庫的連接 E關閉連接 A、B、A、D、C、E B、B、A、C、D、E C、B、D、A、C、E D、B、D、C、A、E ? 51.Java線程之間可以通過以下哪些方法實現通信(多選) A、wait左邊()右邊 B、notifyOne左邊()右邊 C、notify左邊()右邊 D、notifyAll左邊()右邊 ? 52.下面哪些是Thread類的方法(多選) Astart左邊()右邊???Brun左邊()右邊???Cexit左邊()右邊???DgetPriority左邊()右邊 解析:看JavaAPIdocs吧:左邊()右邊是System類的方法,如System.exit(0) ? 53.下面程序的運行結果: Apingpong????Bpongping???Cpingpong和pongping都有可能???D都不輸出? 解析:這里考的是Thread類中start左邊()右邊和run左邊()右邊方法的區別了。start左邊()右邊用來啟動一個線程,當調用start方法后,系統才會開啟一個新的線程,進而調用run左邊()右邊方法來執行任務,而單獨的調用run左邊()右邊就跟調用普通方法是一樣的,已經失去線程的特性了。因此在啟動一個線程的時候一定要使用start左邊()右邊而不是run左邊()右邊。 ? 54.下列說法正確的是(多選) ALinkedList繼承自List BAbstractSet繼承自Set CHashSet繼承自AbstractSet DWeakMap繼承自HashMap 解析:下面是一張下載的Java中的集合類型的繼承關系圖,一目了然。 ? ? 55.Java接口的修飾符可以為(多選) Aprivate??Bprotected???Cfinal???Dabstract 解析: 接口的方法默認是publicabstract; 接口中不可以定義變量即只能定義常量(加上final修飾就會變成常量)。所以接口的屬性默認是publicstaticfinal常量,且必須賦初值。 注意:final和abstract不能同時出現。 ? 56.不通過構造函數也能創建對象嗎 A是??B否 解析:Java創建對象的幾種方式(重要): (1)用new語句創建對象,這是最常見的創建對象的方法。 (2)運用反射手段,調用java.lang.Class或者java.lang.reflect.Constructor類的newInstance左邊()右邊實例方法。 (3)調用對象的clone左邊()右邊方法。 (4)運用反序列化手段,調用java.io.ObjectInputStream對象的readObject左邊()右邊方法。 (1)和(2)都會明確的顯式的調用構造函數;(3)是在內存上對已有對象的影印,所以不會調用構造函數;(4)是從文件中還原類的對象,也不會調用構造函數。 ? ?57.ArrayListlist=newArrayList(20);中的list擴充幾次 A0??B1??C2???D3 ? 解析:這里有點迷惑人,大家都知道默認ArrayList的長度是10個,所以如果你要往list里添加20個元素肯定要擴充一次(擴充為原來的1.5倍),但是這里顯示指明了需要多少空間,所以就一次性為你分配這么多空間,也就是不需要擴充了。 ? 58.下面哪些是對稱加密算法(多選) ADES?BAES?CDSA?DRSA 解析:常用的對稱加密算法有:DES、3DES、RC2、RC4、AES 常用的非對稱加密算法有:RSA、DSA、ECC 使用單向散列函數的加密算法:MD5、SHA ? 59.閱讀Shape和Circle兩個類的定義。在序列化一個Circle的對象circle到文件時,下面哪個字段會被保存到文件中??(?) Aname B?radius C?color D?type 解析: 這里有詳細的解釋: ? 60.下面的方法,當輸入為2的時候返回值是多少? A0???????????????????B2???????????????????C4????????????????????D10 解析:注意這里case后面沒有加break,所以從case2開始一直往下運行。 ? 61.下面程序能正常運行嗎 A,能?B,不能 解析:輸出為haha,因為null值可以強制轉換為任何java類類型,(String)null也是合法的。但null強制轉換后是無效對象,其返回值還是為null,而static方法的調用是和類名綁定的,不借助對象進行訪問所以能正確輸出。反過來,沒有static修飾就只能用對象進行訪問,使用null調用對象肯定會報空指針錯了。這里和C++很類似。 ? 62.getCustomerInfo左邊()右邊方法如下,try中可以捕獲三種類型的異常,如果在該方法運行中產生了一個IOException,將會輸出什么結果 A?IOException! BIOException!Exception! CFileNotFoundException!IOException! DFileNotFoundException!IOException!Exception! 解析: 考察多個catch語句塊的執行順序。當用多個catch語句時,catch語句塊在次序上有先后之分。從最前面的catch語句塊依次先后進行異常類型匹配,這樣如果父異常在子異常類之前,那么首先匹配的將是父異常類,子異常類將不會獲得匹配的機會,也即子異常類型所在的catch語句塊將是不可到達的語句。所以,一般將父類異常類即Exception老大放在catch語句塊的最后一個。 ? 63.下面代碼的運行結果為: A?代碼得到編譯,并輸出“s=” B?代碼得到編譯,并輸出“s=null” C?由于Strings沒有初始化,代碼不能編譯通過 D?代碼得到編譯,但捕獲到?NullPointException異常 解析:開始以為會輸出null什么的,運行后才發現Java中所有定義的基本類型或對象都必須初始化才能輸出值。 ? 64.指出下列程序運行的結果? A、?goodandabc B、?goodandgbc C、?testokandabc D、?testokandgbc 解析:大家可能以為Java中String和數組都是對象所以肯定是對象引用,然后就會選D,其實這是個很大的誤區:因為在java里沒有引用傳遞,只有值傳遞 這個值指的是實參的地址的拷貝,得到這個拷貝地址后,你可以通過它修改這個地址的內容(引用不變),因為此時這個內容的地址和原地址是同一地址, 但是你不能改變這個地址本身使其重新引用其它的對象,也就是值傳遞 ? 65.儲蓄所有多個儲戶,儲戶在多個儲戶所存取款,儲蓄所與儲戶之間是 A.一對一的聯系 B.多對一的聯系 C.一對多的聯系 D.多對多的聯系 ? 66.視圖是一個“虛表”,視圖的構造基于 A.基本表或視圖 B.視圖 C.數據字典 D.基本表 ? 67.設有關系R(A,B,C,D)及其上的函數相關性集合F={B→A,BC→D},那么關系R最高是 A.第一范式的 B.第二范式的 C.第三范式的 D.BCNF范式的 分析:根據數據庫三大范式的依賴性要求,從B,BC函數確定A和D這一點上,明顯看出B,BC都有可能是主碼.若B是主碼的話,仔細看會發現,F中竟然沒有誰去函數確定C,這顯然是說不通的,(因為C至少會被B這個主碼函數確定);若BC是主碼,那么F中存在非主屬性對候選碼的部分依賴,不滿足第二范式的要求,故為第一范式. ? 68.給定某java程序片段,該程序運行后,j的輸出結果為 inti=1; Intj=i++; If((j>++j)&&(i++==j)){j+=i:} System.out.println(j); A1 B.2 C.3 D.4 分析:i++先引用后。++i先增加后引用