2025年計(jì)算機(jī)Java語(yǔ)言程序設(shè)計(jì)考試試題
無(wú)論是身處學(xué)校還是步入社會(huì),我們或多或少都會(huì)接觸到考試題,借助考試題可以檢驗(yàn)考試者是否已經(jīng)具備獲得某種資格的基本能力。大家知道什么樣的考試題才是好考試題嗎?以下是小編精心整理的計(jì)算機(jī)Java語(yǔ)言程序設(shè)計(jì)考試試題,歡迎大家借鑒與參考,希望對(duì)大家有所幫助。
計(jì)算機(jī)Java語(yǔ)言程序設(shè)計(jì)考試試題 1
一、單選題:(每題1分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)的標(biāo)記寫(xiě)在題干后的括號(hào)內(nèi)。
1.下列語(yǔ)句序列執(zhí)行后,k 的值是( B )。
int m=3, n=6, k=0;
while( (m++) < ( -- n) ) ++k;
A) 0 B) 1 C) 2 D) 3
2.設(shè) i、j 為int型變量名,a 為int型數(shù)組名,以下選項(xiàng)中,正確的賦值語(yǔ)句是( B )。
A) i = i + 2 B) a[0] = 7;
C) i++ - --j; D) a(0) = 66;
3.Java語(yǔ)言的類(lèi)間的繼承關(guān)系是( B )。
A) 多重的 B) 單重的 C) 線程的 D) 不能繼承
4.設(shè)有定義 int i = 6 ;,則執(zhí)行以下語(yǔ)句后,i 的值為( C )。
i += i - 1;
A) 10 B) 121 C) 11 D) 100
5.下列選項(xiàng)中,用于在定義子類(lèi)時(shí)聲明父類(lèi)名的關(guān)鍵字是( C )。
A)interface B) package C) extends D) class
6.若已定義 byte[ ] x= {11,22,33,-66} ;
其中0≤k≤3,則對(duì)x數(shù)組元素錯(cuò)誤的引用是( C )。
A) x[5-3] B) x[k] C) x[k+5] D) x[0]
7.下列語(yǔ)句序列執(zhí)行后,ch1 的值是( B )。
char ch1=A,ch2=W;
if(ch1 + 2 < ch2 ) ++ch1;
A) A B) B C) C D) B
8.下列語(yǔ)句序列執(zhí)行后,i 的值是( D )。
int i=8, j=16;
if( i-1 > j ) i--; else j--;
A) 15 B) 16 C) 7 D) 8
9.下列語(yǔ)句序列執(zhí)行后,k 的值是( C )。
int i=10, j=18, k=30;
switch( j - i )
{ case 8 : k++;
case 9 : k+=2;
case 10: k+=3;
default : k/=j;
}
A) 31 B) 32 C) 2 D) 33
10.下面語(yǔ)句執(zhí)行后,i 的值是( B )。
for( int i=0, j=1; j < 5; j+=3 ) i=i+j;
A) 4 B) 5 C) 6 D) 7
二、填空題:(每空1分)
1. 構(gòu)造函數(shù)_沒(méi)__有返回值。
2. Java語(yǔ)言中的浮點(diǎn)型數(shù)據(jù)根據(jù)數(shù)據(jù)存儲(chǔ)長(zhǎng)度和數(shù)值精度的不同,進(jìn)一步分為float和 ___ double _______兩種具體類(lèi)型。
3. 創(chuàng)建類(lèi)對(duì)象的運(yùn)算符是__ new。
4. 當(dāng)整型變量n的值不能被13除盡時(shí),其值為 false 的Java語(yǔ)言表達(dá)式是__n%13==0___________ 。
5. 在Java語(yǔ)言中,所有的數(shù)組都有一個(gè)lenght屬性,這個(gè)屬性存儲(chǔ)了該數(shù)組的__元素個(gè)數(shù)。
6. 定義類(lèi)就是定義一種抽象的______父類(lèi)______,它是所有具有一定共性的對(duì)象的抽象描述。
7. 在Java語(yǔ)言中,使用__平臺(tái)無(wú)關(guān)___、___java虛擬機(jī)___等技術(shù),實(shí)現(xiàn)軟件重用。
8. 表達(dá)式3/6 * 5的計(jì)算結(jié)果是____0____ 。
三、程序分析:(每題4分)
1. 下面是一個(gè)排序的程序:
import java.io.*;
public class Test56_Sort
{
public static void main(String args[ ])
{
int[] a={42,99,5,63,95,36,2,69,200,96};
System.out.println(排序前的數(shù)據(jù)序列:);
ShowArray(a);
Sort(a);
System.out.println(排序后的數(shù)據(jù)序列:);
ShowArray(a);
}
public static void Sort(int[] x)
{
int w;
for(int i=1; i
{
for(int j=0; j
if(x[j]>x[j+1])
{ w=x[j]; x[j]=x[j+1]; x[j+1]=w; }
/* if(i==1||i==2) ShowArray(x);
if(i==2) break; */
}
}
public static void ShowArray(int b[])
{
for(int i=0; i
System.out.print("b[i"+i+"]=" +b[i]);
System.out.println( );
}
}
問(wèn)題: 如果將方法Sort( )中的一對(duì)注釋符(/* */)去掉,程序輸出的'結(jié)果是什么?
排序前的數(shù)據(jù)序列:
b[0]=42b[1]=99b[2]=5b[3]=63b[4]=95b[5]=36b[6]=2b[7]=69b[8]=200b[9]=96
b[0]=42b[1]=5b[2]=63b[3]=95b[4]=36b[5]=2b[6]=69b[7]=99b[8]=96b[9]=200
b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200
排序后的數(shù)據(jù)序列:
b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200
2. 請(qǐng)寫(xiě)下程序的輸出結(jié)果:
public class Test52
{
String str1="Hello, Java world! ";
String str2="Hello, students!" ;
public static void main(String args[])
{
System.out.print(str1);
System.out.println(str2);
}
}
輸出結(jié)果:
四、問(wèn)答題:(每題5分,)
1. Java的接口和C++的虛類(lèi)的相同和不同處。
由于Java不支持多繼承,而有可能某個(gè)類(lèi)或?qū)ο笠褂梅謩e在幾個(gè)類(lèi)或?qū)ο罄锩娴姆椒ɑ驅(qū)傩,現(xiàn)有的單繼承機(jī)制就不能滿足要求。與繼承相比,接口有更高的靈活性,因?yàn)榻涌谥袥](méi)有任何實(shí)現(xiàn)代碼。當(dāng)一個(gè)類(lèi)實(shí)現(xiàn)了接口以后,該類(lèi)要實(shí)現(xiàn)接口里面所有的方法和屬性,并且接口里面的屬性在默認(rèn)狀態(tài)下面都是 public static,所有方法默認(rèn)情況下是public.一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口。
2. 垃圾回收的優(yōu)點(diǎn)和原理。并考慮2種回收機(jī)制。
Java語(yǔ)言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使c++程序員最頭疼的內(nèi)存管理的問(wèn)題迎刃而解,它使得Java程序員在編寫(xiě)程序的時(shí)候不再需要考慮內(nèi)存管理。由于有個(gè)垃圾回收機(jī)制,Java中的對(duì)象不再有"作用域"的概念,只有對(duì)象的引用才有"作用域"。垃圾回收可以有效的防止內(nèi)存泄露,有效的使用可以使用的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低級(jí)別的線程運(yùn)行,不可預(yù)知的情況下對(duì)內(nèi)存堆中已經(jīng)死亡的或者長(zhǎng)時(shí)間沒(méi)有使用的對(duì)象進(jìn)行清楚和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對(duì)某個(gè)對(duì)象或所有對(duì)象進(jìn)行垃圾回收。回收機(jī)制有分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。
3,談?wù)刦inal, finally, finalize的區(qū)別。
Final-修飾符(關(guān)鍵字)如果一個(gè)類(lèi)被聲明為final,意味著它不能再派生出新的子類(lèi),不能作為父類(lèi)被繼承。因此一個(gè)類(lèi)不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們?cè)谑褂弥胁槐桓淖儭1宦暶鳛閒inal的變量必須在聲明時(shí)給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載。
Finally-再異常處理時(shí)提供 finally 塊來(lái)執(zhí)行任何清除操作。如果拋出一個(gè)異常,那么相匹配的 catch 子句就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入 finally 塊(如果有的話)。
Finalize-方法名。Java 技術(shù)允許使用 finalize()方法在垃圾收集器將對(duì)象從內(nèi)存中清除出去之前做必要的清理工作。這個(gè)方法是由垃圾收集器在確定這個(gè)對(duì)象沒(méi)有被引用時(shí)對(duì)這個(gè)對(duì)象調(diào)用的。它是在 Object 類(lèi)中定義的,因此所有的類(lèi)都繼承了它。子類(lèi)覆蓋 finalize() 方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize()方法是在垃圾收集器刪除對(duì)象之前對(duì)這個(gè)對(duì)象調(diào)用的。
4,數(shù)組有沒(méi)有l(wèi)ength()這個(gè)方法? String有沒(méi)有l(wèi)ength()這個(gè)方法?舉例說(shuō)明使用方法?
數(shù)組沒(méi)有l(wèi)ength()這個(gè)方法,有l(wèi)ength的屬性。
String有有l(wèi)ength()這個(gè)方法。
5. Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用。
當(dāng)JAVA程序違反了JAVA的語(yǔ)義規(guī)則時(shí),JAVA虛擬機(jī)就會(huì)將發(fā)生的錯(cuò)誤表示為一個(gè)異常。違反語(yǔ)義規(guī)則包括2種情況。一種是JAVA類(lèi)庫(kù)內(nèi)置的語(yǔ)義檢查。例如數(shù)組下標(biāo)越界,會(huì)引發(fā)IndexOutOfBoundsException;訪問(wèn)null的對(duì)象時(shí)會(huì)引發(fā) NullPointerException.另一種情況就是JAVA允許程序員擴(kuò)展這種語(yǔ)義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時(shí)用 throw關(guān)鍵字引發(fā)異常。所有的異常都是java.lang.Thowable的子類(lèi)。
五、程序設(shè)計(jì):(每題11分,共33分)
1、編程:編寫(xiě)一個(gè)截取字符串的函數(shù),輸入為一個(gè)字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。 但是要保證漢字不被截半個(gè),如"我ABC"4,應(yīng)該截為"我AB",輸入"我ABC漢DEF",6,應(yīng)該輸出為"我ABC"而不是"我ABC+漢的半個(gè)"。
2、編程求解:所有兩位整數(shù)能被3整除的數(shù)的和,以及不能被3整除的數(shù)的各位數(shù)字之和。
3、設(shè)計(jì)一個(gè)程序求解e的值。精度達(dá)到1.0e-6,
4、請(qǐng)?jiān)O(shè)計(jì)一個(gè)對(duì)N個(gè)數(shù)進(jìn)行排序的程序
計(jì)算機(jī)Java語(yǔ)言程序設(shè)計(jì)考試試題 2
一.選擇題(30分)
1.下列哪些情況可以終止當(dāng)前線程的運(yùn)行?
a. 拋出一個(gè)異常時(shí)。
b. 當(dāng)該線程調(diào)用sleep()方法時(shí)。
c. 當(dāng)創(chuàng)建一個(gè)新線程時(shí)。(與當(dāng)前進(jìn)程無(wú)關(guān))
d. 當(dāng)一個(gè)優(yōu)先級(jí)高的線程進(jìn)入就緒狀態(tài)時(shí)。
2. 下面哪些為構(gòu)造函數(shù)的特性定義
a. 在類(lèi)中聲明構(gòu)造函數(shù)時(shí),名稱應(yīng)該與類(lèi)名相同
b. 具有重載特性,可以建立多個(gè)相同的名稱
c. 使用類(lèi)建立新對(duì)象時(shí),會(huì)自動(dòng)執(zhí)行構(gòu)造函數(shù),因此在構(gòu)造函數(shù)內(nèi)設(shè)定變量的初值或進(jìn)行內(nèi)存分配
d. 以上都是
3. 關(guān)于異常處理機(jī)制的敘述哪些正確
a. catch部分捕捉到異常情況時(shí),才會(huì)執(zhí)行finally部分
b. 當(dāng)try區(qū)段的程序發(fā)生異常時(shí),才會(huì)執(zhí)行catch區(qū)段的程序
c. 不論程序是否發(fā)生錯(cuò)誤及捕捉到異常情況,都會(huì)執(zhí)行finally部分
d. 以上都是
4. 下列關(guān)于接口的敘述中哪些是正確的
a. 接口中的數(shù)據(jù)必須設(shè)定初值(就是接口中的常量)
b. 接口中的方法都是抽象方法
c. 接口可以聲明引用
d. 以上都正確
5.Java語(yǔ)言中,方法的重寫(xiě)(Overriding)和重載(Overloading)是多態(tài)性的不同表現(xiàn)。下邊哪些說(shuō)法是對(duì)的?
A. 重寫(xiě)是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn)。
B. 重寫(xiě)是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn)。
C. 重載是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn)。
D. 重載是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn)。
6.在Struts應(yīng)用的視圖中包含哪些組件?
A. JSP
B. Servlet
C. ActionServlet
D. Action
E. 代表業(yè)務(wù)邏輯或業(yè)務(wù)數(shù)據(jù)的JavaBean
F. EJB
G. 客戶化標(biāo)簽
7. struts框架中,關(guān)于FormBean,下列哪些說(shuō)法是正確的:
A FormBean是一種數(shù)據(jù)bean,主要用來(lái)封裝表單提交上來(lái)的數(shù)據(jù),并把這些數(shù)據(jù)傳遞給Action
B 在FormBean中可以對(duì)頁(yè)面上傳遞來(lái)的參數(shù)進(jìn)行一下格式上的驗(yàn)證,這種驗(yàn)證是一種客戶端的驗(yàn)證
C 用戶每次提交表單,都會(huì)產(chǎn)生一個(gè)新的FormBean實(shí)例
D 動(dòng)態(tài)FormBean不能進(jìn)行驗(yàn)證操作
8哪些方法可以進(jìn)行servlet的調(diào)試?()
A、使用打印語(yǔ)句; 在桌面計(jì)算機(jī)上運(yùn)行服務(wù)器
B、使用Apache Log4J
C、使用IDE集成的調(diào)試器
D、直接查看HTML源碼 ????
E、返回錯(cuò)誤頁(yè)面給客戶
9、下面關(guān)于servlet的功用說(shuō)法正確的有哪些?()
A、讀取客戶程序發(fā)送來(lái)的顯式數(shù)據(jù)
B、讀取客戶程序發(fā)送來(lái)的隱式數(shù)據(jù)
C、生成相應(yīng)的結(jié)果
D、發(fā)送顯式的數(shù)據(jù)給客戶程序
E、發(fā)送隱式的數(shù)據(jù)給客戶程序
10、下面關(guān)于session的用法哪些是錯(cuò)誤的?(
A、HttpSession session = new HttpSession();
request.getSession();
B、String haha =(String) session.getParameter(Attribute)(“haha”);
C、session.removeAttribute(“haha”);
D、session. setAttribute(“haha”,值);
11、關(guān)于說(shuō)法正確的有哪些?()
A、URL的輸出在請(qǐng)求時(shí)入到JSP頁(yè)面中
B、不能含有影響整個(gè)頁(yè)面的JSP內(nèi)容
C、被包含文件改變后不需更改使用它的頁(yè)面
D、被包含文件更改后,需要手動(dòng)地更新使用它的頁(yè)面(不需要手動(dòng)更新)
12、關(guān)于bean的說(shuō)法正確的有哪些?()
A、具備一個(gè)零參數(shù)(空)的構(gòu)造函數(shù)(不是必須的)
B、不應(yīng)該有公開(kāi)的實(shí)例變量(字段)
C、所有的`屬性都必須通過(guò)getXxx和setXxx方法來(lái)訪問(wèn)
D、布爾型的屬性使用isXxx,而非getXxx
13、下面關(guān)于MVC說(shuō)法錯(cuò)誤的有哪些?()
A、必須使用復(fù)雜的框架
B、使用內(nèi)建的RequestDispatcher能夠很好地實(shí)現(xiàn)MVC
C、當(dāng)其中一個(gè)組件發(fā)生變化的時(shí)候,MVC影響整個(gè)系統(tǒng)的設(shè)計(jì)
D、我們可以用MVC來(lái)處理單個(gè)請(qǐng)求
14、下面的標(biāo)簽中哪些是JSTL標(biāo)簽?()
15、struts框架,錯(cuò)誤的是,下面那些說(shuō)法正確?
A Struts中無(wú)法完成上傳功能
B Struts框架基于MVC模式
C Struts框架容易引起流程復(fù)雜、結(jié)構(gòu)不清晰等問(wèn)題(清晰)
D Struts可以有效地降低項(xiàng)目的類(lèi)文件數(shù)目
二、填空題( 5分)
1、調(diào)用函數(shù)MOD(123,10)返回值為_(kāi)__。
2、select round (123.67,1) from dual;這語(yǔ)句輸出值為_(kāi)_____。
3、創(chuàng)建一個(gè)臨時(shí)替代變量使用的字符是_____。
4、若v_comm = 2800, X := NVL (V_comm,0) ,則X的值為_(kāi)___。
5、調(diào)用函數(shù)INSTR(‘Here you are’,’er’)返回值為_(kāi)__。
三、判斷題(10分)
1、WHERE子句限制行記錄,也可以指定限制分組結(jié)果的條件。 ()
2、具有UNIQUE約束的列不能包含多個(gè)空值。 ()
3、DATE型數(shù)據(jù)中包含著時(shí)間值。 ()
4、具有外鍵約束的列可以包含空值。 ()
5、如果在類(lèi)型為4)的列中輸入“hello”,則只能存儲(chǔ)hell。 ()
6、含有Group by子句的查詢,其結(jié)果是排好序的。 ()
7、定義游標(biāo)時(shí),其中的select語(yǔ)句不能使用order by子句。(子查詢
不能用) ()
9、觸發(fā)器一定會(huì)被激發(fā)。 、過(guò)程可以有返回值。 ()
10、instead
of觸發(fā)器只是基于視圖的。
四、寫(xiě)出相應(yīng)的SQL語(yǔ)句(括號(hào)內(nèi)為列名)(10分)
1、查詢從事各工作(JOB)的員工人數(shù)。
2、查詢與員工SMITH在同一部門(mén)(DEPTNO)的員工的姓名(ENAME),工資(SAL)和部門(mén)。
3、查詢所有員工的姓名(ENAME),工資(SAL)和工資等級(jí)(GRADE)。
4、查詢獲得工資(SAL)最高的3個(gè)員工信息。
5、查詢所有員工的姓名(ENAME)及其主管姓名(ENAME)。
五、簡(jiǎn)答題(15分)
1. 在PL/SQL程序中,進(jìn)行用戶自定義異常處理的3個(gè)步驟是
什么?
2. 面向?qū)ο蟮奶卣饔心男┓矫?并簡(jiǎn)要介紹
3. List、Map、Set三個(gè)接口,存取元素時(shí),各有什么特點(diǎn)?
List 以特定次序來(lái)持有元素,可有重復(fù)元素。Set 無(wú)法擁有重復(fù)元素,內(nèi)部排序。Map 保存key-value值,value可多值。
4 .struts1.0和struts2.0的區(qū)別?如何控制兩種框架中的單例模式?
5. 描述一下如何在struts1.0實(shí)現(xiàn)國(guó)際化,以兩國(guó)語(yǔ)言(中文,英文)為例:
6.struts中怎么配置form-bean、action
7. Hibernate自帶的分頁(yè)機(jī)制是什么?如果不使用Hibernate自帶的分頁(yè),則采用什么方式分頁(yè)?
8. hibernate中一對(duì)多配置文件返回的是什么?
9.什么樣的數(shù)據(jù)適合存放到第二級(jí)緩存中?
10你一般用spring做什么?
11項(xiàng)目中如何體現(xiàn)Spring中的切面編程,具體說(shuō)明。
12 觸發(fā)觸發(fā)器的數(shù)據(jù)操作有哪些?
13 解釋視圖的含義以及使用視圖的好處。
14 簡(jiǎn)述ORACLE中5種約束及其作用。
15 ORACLE中過(guò)程和函數(shù)的異同點(diǎn)。
六、編程題(30分)
1、創(chuàng)建一個(gè)PL/SQL塊,根據(jù)用戶輸入的編號(hào),在emp表中查詢出該編號(hào)的員工姓名、部門(mén)號(hào)及其主管編號(hào),要有異常處理。
2、創(chuàng)建一個(gè)PL/SQL塊,根據(jù)用戶輸入的工作,從emp表中逐條輸出從事這一工作的每位員工的編號(hào)、姓名和受雇如期,每條信息格式如下:(用游標(biāo)實(shí)現(xiàn))
編號(hào) 姓名 受雇日期
7751 JOHN 95-12-31
3、編寫(xiě)一個(gè)函數(shù),用于判斷EMP表中某一工作(JOB)是否存在,若EMP表存在此工作名稱,則返回TRUE,否則返回FALSE。
4、編寫(xiě)一觸發(fā)器,在EMP表執(zhí)行插入或修改前被激發(fā),此觸發(fā)器將對(duì)員工的工資(SAL)超過(guò)5000進(jìn)行報(bào)錯(cuò),不能插入或修改,不超
過(guò)5000的才將員工編號(hào)、工作及當(dāng)時(shí)的日期(SYSDATE)插入U(xiǎn)P_EMP表
(注:此表已建好,表結(jié)構(gòu)為UP_EMP(EMPNO NUMBER(4),SAL NUMBER(7,2),UDETE DATE))
5下面程序的輸出結(jié)果是多少?
importjava.util.Date;
public class Test extends Date{
public static void main(String[] args) {
new Test().test();}
public void test(){
System.out.println(super.getClass().getName());}}
6下面的程序代碼輸出的結(jié)果是多少? public class smallT
{}
public static void main(String args[]) { } public int get() { } try { } finally { } return 2 ; return 1 ; smallT t = new smallT(); int b = t.get(); System.out.println(b);
7子線程循環(huán)10次,接著主線程循環(huán)100,接著又回到子線程循環(huán)10次,接著再回到主線程又循環(huán)100,如此循環(huán)50次,請(qǐng)寫(xiě)出程序。
8去掉一個(gè)Vector集合中重復(fù)的元素
9有一個(gè)字符串,其中包含中文字符、英文字符和數(shù)字字符,請(qǐng)統(tǒng)計(jì)和打印出各個(gè)字符的個(gè)數(shù)
10. xxx公司的sql面試
Table EMPLOYEES Structure:
EMPLOYEE_ID NUMBER Primary Key,
FIRST_NAME VARCHAR2(25),
LAST_NAME VARCHAR2(25),
Salary number(8,2),
HiredDate DATE,
Departmentid number(2)
Table Departments Structure:
Departmentid number(2) Primary Key,
DepartmentName VARCHAR2(25).
(1)基于上述EMPLOYEES表寫(xiě)出查詢:寫(xiě)出雇用日期在今年的,或者工資在[1000,2000]之間的,或者員工姓名(last_name)以’Obama’打頭的所有員工,列出這些員工的全部個(gè)人信息。
(2) 基于上述EMPLOYEES表寫(xiě)出查詢:查出部門(mén)平均工資大于1800
元的部門(mén)的所有員工,列出這些員工的全部個(gè)人信息。()
(3) 基于上述EMPLOYEES表寫(xiě)出查詢:查出個(gè)人工資高于其所在部門(mén)平均工資的員工,列出這些員工的全部個(gè)人信息及該員工工資高出部門(mén)平均工資百分比。
參考答案
1答案:ABD
2答案: D
3答案:BC
4答案:AB
5答案AC
6答案:A,G
7答案:A
8A B C D E
9A B C D E
10A B D
11A B C
12B D
13A C
14A B C
15A B C
16答案:C
二 填空
3 123.7 & 2800 2
三判斷
× ×√√√√×√×√
四寫(xiě)出相應(yīng)的SQL語(yǔ)句
1Select job,count(*) from emp group by job;
2Select ename,sal,deptno from emp where deptno=(select deptno from emp where ename=’SMITH’);
3Select ename,sal,grade from emp,salgrade where sal between losal and hisal;
4Select * from (select * from emp order by sal desc) where rownum<=3;
5Select e1.ename empname,e2.ename mgrname from emp e1,emp e2 where e1.mgr=e2.empno;
五簡(jiǎn)答
可以通過(guò)聲明和發(fā)布來(lái)截獲自定義異常。
一、在聲明部分為聲明自定義異常名。
二、在執(zhí)行部分使用 RAISE 語(yǔ)句顯式地發(fā)布異常。
三、在相應(yīng)的異常處理例程中引用已聲明的異常。
2(1).抽象:
抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問(wèn)題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是過(guò)程抽象,二是數(shù)據(jù)抽象。
(2).繼承:
繼承是一種聯(lián)結(jié)類(lèi)的層次模型,并且允許和鼓勵(lì)類(lèi)的重用,它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類(lèi)可以從現(xiàn)有的類(lèi)中派生,這個(gè)過(guò)程稱為類(lèi)繼承。新類(lèi)繼承了原始類(lèi)的特性, 新類(lèi)稱為原始類(lèi)的派生類(lèi)(子類(lèi)),而原始類(lèi)稱為新類(lèi)的基類(lèi)(父類(lèi))。派生類(lèi)可以從它的基類(lèi)那里繼承方法和實(shí)例變量,并且類(lèi)可以修改或增加新的方法使之更適合特殊的需要。
(3).封裝:
封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái),對(duì)數(shù)據(jù)的訪問(wèn)只能通過(guò)已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過(guò)一個(gè)受保護(hù)的接口訪問(wèn)其他對(duì)象。
(4). 多態(tài)性:
多態(tài)性是指允許不同類(lèi)的對(duì)象對(duì)同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問(wèn)題。
List 以特定次序來(lái)持有元素,可有重復(fù)元素。Set 無(wú)法擁有重復(fù)元素,內(nèi)部排序。Map 保存key-value值,value可多值。
3List 以特定次序來(lái)持有元素,可有重復(fù)元素。Set 無(wú)法擁有重復(fù)元素,內(nèi)部排序。Map 保存key-value值,value可多值
4a、Action類(lèi):
struts1.2要求Action類(lèi)繼承一個(gè)基類(lèi)。struts2.0 Action要求繼承ActionSupport基類(lèi) b、線程模式
struts1.2 Action是單例模式的并且必須是線程安全的,因?yàn)閮H有一個(gè)Action的實(shí)例來(lái)處理所有的請(qǐng)求。
單例策略限制了Struts1.2 Action能做的事情,并且開(kāi)發(fā)時(shí)特別小心。Action資源必須是線程安全的或同步的。
struts2.0 Action為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)實(shí)例,因此沒(méi)有線程安全問(wèn)題。
c、Servlet依賴
struts1.2 Action依賴于Servlet API,因?yàn)楫?dāng)一個(gè)Action被調(diào)用時(shí)HttpServletRequest和HttpServletResponse被傳遞給execut方法。
struts2.0 Action不依賴于容器,允許Action脫離容器單獨(dú)測(cè)試。如果需要,Struts2 Action仍
然可以訪問(wèn)初始的Request和Response。
但是,其他的元素減少或者消除了直接訪問(wèn)HttpServletRequest和HttpServletResponse的必要性。
d、可測(cè)性
測(cè)試struts1.2 Action的一個(gè)主要問(wèn)題是execute方法暴露了Servlet API(這使得測(cè)試要依賴于容器)。一個(gè)第三方擴(kuò)展:struts TestCase
提供了一套struts1.2的模擬對(duì)象來(lái)進(jìn)行測(cè)試。
Struts2.0 Action可以通過(guò)初始化、設(shè)置屬性、調(diào)用方法來(lái)測(cè)試,“依賴注入”也使得測(cè)試更容易。
計(jì)算機(jī)Java語(yǔ)言程序設(shè)計(jì)考試試題 3
一、選擇題:(每題3分,共20題)
1. 下面關(guān)于類(lèi)的說(shuō)法錯(cuò)誤的一項(xiàng)是( )。
A、類(lèi)屬于Java語(yǔ)言中的復(fù)合數(shù)據(jù)類(lèi)型 中的基本結(jié)構(gòu)單位
C、類(lèi)是同種對(duì)象的集合和抽象
2. 如下所示代碼:
public class Test05_01{ }
private float a;
public static void m ( ){ }
D、類(lèi)就是對(duì)象 B、對(duì)象是Java語(yǔ)言
如何使成員變量a被方法m( )訪問(wèn)( )。
A、將private float a改為public float a
B、將private float a改為static float a
C、將private float a改為protected float a
D、將private float a改為float a
3. 下面關(guān)于類(lèi)的說(shuō)法有誤的一項(xiàng)是( )。
A、類(lèi)就是對(duì)象 抽象
C、類(lèi)屬于Java語(yǔ)言中的復(fù)合數(shù)據(jù)類(lèi)型 中的基本結(jié)構(gòu)單位
D、對(duì)象是Java語(yǔ)言
B、類(lèi)是同種對(duì)象的集合和
關(guān)于Java面向?qū)ο蟮目荚囶}。
4. 下列哪種類(lèi)成員修飾符修飾的變量只能在本類(lèi)中被訪問(wèn)( )。
A、protected
B、default
C、private
D、public
5. 下面關(guān)于方法的說(shuō)法不正確的一項(xiàng)是( )。
A、類(lèi)的私有方法不能被其他類(lèi)直接訪問(wèn)。
B、Java中的構(gòu)造方法名必須和類(lèi)名相同。
C、方法體是對(duì)方法的實(shí)現(xiàn),包括變量聲明和合法語(yǔ)句。
D、如果一個(gè)類(lèi)定義了構(gòu)造方法,也可以用該類(lèi)的默認(rèn)構(gòu)造方法。
6. 下列程序的運(yùn)行結(jié)果是( )。
public class Test05_02 extends x{ }
B、編譯錯(cuò)誤
D、運(yùn)行成功,但不輸出
int ab(){ }
public static void main(String[] args) { }
Test05_02 b = new Test05_02 (); b.ab(); static int a = 10; a++;
System.out.println(a);
A、10 C、11
關(guān)于Java面向?qū)ο蟮目荚囶}。
7. 下面關(guān)于構(gòu)造方法的描述有誤的一項(xiàng)是( )。
A、構(gòu)造方法必須要有返回類(lèi)型的聲明。
B、構(gòu)造方法和類(lèi)中的方法很相似:有訪問(wèn)修飾符、方法名、參數(shù)列表、方法體。
C、構(gòu)造方法當(dāng)成是一個(gè)特殊的方法,這個(gè)方法的作用就是用來(lái)產(chǎn)生一個(gè)類(lèi)的實(shí)例。
D、構(gòu)造方法的方法名必須和類(lèi)名完全相同。
8. 下列關(guān)于對(duì)象的說(shuō)法錯(cuò)誤的一項(xiàng)是( )。
A、對(duì)象成員是指一個(gè)對(duì)象所擁有的屬性或可以調(diào)用的方法。
B、由類(lèi)生成對(duì)象,稱為類(lèi)的實(shí)例化過(guò)程,一個(gè)實(shí)例可以是多個(gè)對(duì)象。
C、在創(chuàng)建類(lèi)的對(duì)象時(shí),需要使用Java的`new關(guān)鍵字。
D、在Java中要引用對(duì)象的屬性和方法,需要使用“.”操作符來(lái)實(shí)現(xiàn)。
9. 類(lèi)的方法可以不包含下面哪一項(xiàng)( )。
A、方法的參數(shù) C、方法的名稱
B、方法的主體 D、方法的返回值類(lèi)型
10. 下面關(guān)于變量說(shuō)法錯(cuò)誤的一項(xiàng)是( )。
A、對(duì)于成員變量,我們可以不需要手動(dòng)的顯式初始化,因?yàn)橄到y(tǒng)在創(chuàng)建一個(gè)新的對(duì)象的時(shí)候,會(huì)給這些成員變量賦一個(gè)初值。
B、對(duì)于引用變量,它的默認(rèn)初值是null而非相應(yīng)的引用類(lèi)型對(duì)象,也就是說(shuō),它并不是指向任何對(duì)象的首地址。
關(guān)于Java面向?qū)ο蟮目荚囶}。
C、系統(tǒng)會(huì)對(duì)全局(成員)變量指定默認(rèn)的值,也會(huì)對(duì)局部變量賦值。
D、局部變量在使用之前,必須對(duì)其進(jìn)行顯式初始化。
11. 下面的各種數(shù)據(jù)類(lèi)型的默認(rèn)初始化值表示錯(cuò)誤的一項(xiàng)是( )。
A、int是0
B、float 是0.0
C、char 是‘u0000’
D、boolean是false
12. 下面哪一項(xiàng)不是Java的訪問(wèn)控制符( )。
A、public
B、private
C、void
D、protected
13. Java語(yǔ)言類(lèi)間的繼承關(guān)系和接口間的繼承關(guān)系分別是( )。
A、單繼承、不能繼承
C、多重繼承、單繼承
B、多重繼承、不能繼承
D、單繼承、多重繼承
14. 如果局部變量和成員變量同名,如何在局部變量作用域內(nèi)引用成
員變量( )。
A、不影響,系統(tǒng)可以自己區(qū)分
B、不能引用,必須改名,使它們的名稱不相同
C、在成員變量前加this,使用this訪問(wèn)該成員變量
D、在成員變量前加super,使用super訪問(wèn)該成員變量
15. 下列關(guān)于內(nèi)部類(lèi)說(shuō)法錯(cuò)誤的一項(xiàng)是( )。
A、內(nèi)部類(lèi)可用private或protected修飾符修飾
B、內(nèi)部類(lèi)不能有自己的成員方法和成員變量
C、除static內(nèi)部類(lèi)外,不能在類(lèi)內(nèi)聲明static成員
D、內(nèi)部類(lèi)可以作為其他類(lèi)的成員,而且可訪問(wèn)它所在的類(lèi)的成員
16. 定義外部類(lèi)時(shí)不能用到的關(guān)鍵字是( )。
A、public
B、abstract
C、protected
D、final
17. 下面說(shuō)法不正確的一項(xiàng)是( )。
A、abstract和final能同時(shí)修飾一個(gè)類(lèi)
B、抽象類(lèi)既可以做父類(lèi),也可以做子類(lèi)
C、聲明為final類(lèi)型的方法不能在其子類(lèi)中重新定義
D、抽象類(lèi)中可以沒(méi)有抽象方法,有抽象方法的類(lèi)一定是抽象類(lèi)或接口
18. 有一個(gè)類(lèi)B,下面為其構(gòu)造方法的聲明,正確的是( )。
A、void b(int x) {} C、B(int x) {}
B、void B(int x) {}
D、b(int x) {}
19. 區(qū)分類(lèi)中重載方法的依據(jù)是( )。
A、不同的形參名稱
B、返回值的類(lèi)型不同
D、訪問(wèn)權(quán)限不同
C、形參列表的類(lèi)型和順序
20. 下面說(shuō)法錯(cuò)誤的一項(xiàng)是( )。
A、在Java中,為了節(jié)省創(chuàng)建對(duì)象的時(shí)間和空間,對(duì)于一些常用的方法,會(huì)將它在內(nèi)存中緩存起來(lái)。
B、在JDK中針對(duì)各種基本數(shù)據(jù)類(lèi)型分別定義相應(yīng)的引用類(lèi)型,稱之為封裝類(lèi)(Wrapper Classes)。
C、JDK5.0中,引入了自動(dòng)裝箱/拆箱功能,可以讓我們方便的在簡(jiǎn)單類(lèi)型和對(duì)應(yīng)的封裝類(lèi)型數(shù)據(jù)之間轉(zhuǎn)換。
計(jì)算機(jī)Java語(yǔ)言程序設(shè)計(jì)考試試題 4
選擇題
1). 下面( )是合法的標(biāo)識(shí)符。
A.$persons
B.2Users
C.*poi nt
D.this
正確答案:A
答案解析:本題考查Java 標(biāo)識(shí)符的命名,屬于考試重點(diǎn)內(nèi)容,應(yīng)該掌握。Java 中標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符以字母、下畫(huà)線或美元符作為首字符的字符串序列;標(biāo)識(shí)符是區(qū)分大小寫(xiě)的;標(biāo)識(shí)符的字符數(shù)沒(méi)有限制。由此可見(jiàn),Java 中標(biāo)識(shí)符不能以數(shù)字開(kāi)頭,所以選項(xiàng)B錯(cuò)誤;不能以“*”開(kāi)頭,選項(xiàng)C錯(cuò)誤;this 是專(zhuān)用標(biāo)識(shí)符,具有專(zhuān)門(mén)的意義和用途,選項(xiàng)D 錯(cuò)誤,只有選項(xiàng)A 正確。
2). 設(shè)有一個(gè)已按各元素的值排好序的順序表(長(zhǎng)度大于2),現(xiàn)分別用順序查找法和二分查找法查找與給定值k相等的元素,比較的次數(shù)分別是s和b,在查找不成功情況下s和b的關(guān)系是( )。
A.s =b
B.s>b
C.s
D.s>=b
正確答案:B
答案解析:順序查找的基本思想是:從表的一端開(kāi)始,順序掃描線性表,依次將掃描到結(jié)點(diǎn)的關(guān)鍵字和給定值k進(jìn)行比較,若當(dāng)前掃描到結(jié)點(diǎn)的關(guān)鍵字與k相等,則查找成功;若掃描結(jié)束后,仍未找到關(guān)鍵字等于k的結(jié)點(diǎn),則查找失敗。二分查找法是一種效率較高的查找方法,要求線性表是有序表;舅枷胧牵菏紫葘⒋榈膋值和有序表R[O]~R[n -1]的中間位置mid上的結(jié)點(diǎn)的關(guān)鍵字進(jìn)行比較,若相等,則查找完成;否則,若R[mi d]. key>k,則說(shuō)明待查找的結(jié)點(diǎn)只可能在左子表R[O]~R[mi d -1]中,我們只需在左子表中繼續(xù)進(jìn)行折半查找,若R[mi d]. key
3). 定義一個(gè)表示10個(gè)值為null的字符串?dāng)?shù)組,下面選項(xiàng)正確的是( )。
A.String []a;
B.String a[];
C.char a[10][];
D.String a[]=new String[10];
正確答案:D
答案解析:本題考查字符串?dāng)?shù)組變量的聲明。選項(xiàng)A和選項(xiàng)B的效果是一樣的,都是用來(lái)定義一個(gè)字符串?dāng)?shù)組,但沒(méi)有指明數(shù)組個(gè)數(shù),不滿足題目要求;選項(xiàng)C是一個(gè)二維的字符數(shù)組,在C語(yǔ)言中,一個(gè)二維的字符數(shù)組就可以表示一個(gè)一維的字符串?dāng)?shù)組,而在Java中,字符char是基本類(lèi)型,字符串String則是以對(duì)象的形式來(lái)表示的;選項(xiàng)D正確,它定義了一個(gè)含有10個(gè)元素的.字符串?dāng)?shù)組,如果沒(méi)有給字符串?dāng)?shù)組賦值,則默認(rèn)為null。
4). Thread類(lèi)中能運(yùn)行線程的方法是( )。
A.resume()
B.start()
C.run()
D.init()
正確答案:C
答案解析:resume()是Thread類(lèi)提供的用于線程控制的方法;start()是Thread類(lèi)中的方法,新建的線程不會(huì)自動(dòng)運(yùn)行,必須調(diào)用線程的start()方法才能運(yùn)行該線程;run()是Thread類(lèi)中的方法,在該方法中定義了線程的具體行為,線程開(kāi)始執(zhí)行時(shí),就是從它的run()方法開(kāi)始執(zhí)行的,就像Java應(yīng)用程序從main()開(kāi)始、Applet從init()開(kāi)始一樣;init()不是Thread類(lèi)中的方法。
5). 在面向?qū)ο蟮姆椒ㄖ,一個(gè)對(duì)象請(qǐng)求另一個(gè)對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送
A.調(diào)用語(yǔ)句
B.命令
C.口令
D.消息
正確答案:D
6). 下列的( )原始類(lèi)型在使用流時(shí)可以互換。
A.byte和boolean
B.char和int
C.byte和char
D.String和char
正確答案:B
答案解析:本題考查Java語(yǔ)言中字節(jié)類(lèi)型的概念。在Java語(yǔ)言中,byte是字節(jié)類(lèi)型,用1字節(jié)表示.boolean是布爾類(lèi)型,用true和false表示,它們的表示方法并不一樣,也不提供它們之間的轉(zhuǎn)換,選項(xiàng)A錯(cuò)誤。Java內(nèi)部用整數(shù)來(lái)表示char,通常可以在方法調(diào)用和其他語(yǔ)句中互換使用char和int,選項(xiàng)B正確。char用2字節(jié)表示,byte字節(jié)類(lèi)型用l字節(jié)表示,Java內(nèi)部也不允許互換使用它們,選項(xiàng)C錯(cuò)誤。String在Java語(yǔ)言中是一個(gè)類(lèi),它提供對(duì)字符串的一系列操作,而char是Java語(yǔ)言中的一個(gè)基本類(lèi)型,它不是一個(gè)類(lèi),兩者有本質(zhì)的區(qū)別,故而它們是不能互換使用的,選項(xiàng)D錯(cuò)誤。需要注意的是,在Java語(yǔ)言中提供的類(lèi)都是以大寫(xiě)字母開(kāi)頭,基本類(lèi)型都用小寫(xiě)字母表示。
7). 下列說(shuō)法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容是( )。
A.數(shù)據(jù)結(jié)構(gòu)
B.數(shù)據(jù)操作
C.數(shù)據(jù)查詢
D.數(shù)據(jù)約束
正確答案:C
答案解析:數(shù)據(jù)模型所描述的內(nèi)容包括三個(gè)部分
【計(jì)算機(jī)Java語(yǔ)言程序設(shè)計(jì)考試試題】相關(guān)文章:
計(jì)算機(jī)二級(jí)Java語(yǔ)言程序設(shè)計(jì)考試試題09-06
計(jì)算機(jī)二級(jí)Java語(yǔ)言程序設(shè)計(jì)考試試題及答案10-23
2017計(jì)算機(jī)二級(jí)Java語(yǔ)言程序設(shè)計(jì)考試試題10-13
計(jì)算機(jī)二級(jí)Java語(yǔ)言程序設(shè)計(jì)試題07-17
全國(guó)計(jì)算機(jī)二級(jí)Java語(yǔ)言程序設(shè)計(jì)考試試題09-28
計(jì)算機(jī)二級(jí)《Java語(yǔ)言程序設(shè)計(jì)》考試大綱11-16
sun認(rèn)證:java程序設(shè)計(jì)考試試題07-10
計(jì)算機(jī)二級(jí)Java語(yǔ)言程序設(shè)計(jì)考試重要考點(diǎn)11-19
2017年計(jì)算機(jī)二級(jí) Java 語(yǔ)言程序設(shè)計(jì)考試題庫(kù)10-31