2017計算機二級Java備考衝刺試題及答案
計算機二級考試難度不少,因此考生們要加強練習,下面是本站小編為同學們準備的2017年計算機二級Java備考衝刺試題及答案,助同學們備考計算機二級考試。
1、以下 不是Java中有效的關鍵字。
A、const
B、NULL
C、false
D、this
本題考查的是Java的關鍵字。
Java中常量null,false,true,new,this,const,break都是小寫。
故本題答案為B。
2、關於被私有訪問控制符private修飾的成員變數,以下說法正確的是 。
A、可以被三種類所引用:該類自身、與它在同一個包中的其他類、在其他包中的該類的子類
B、可以被兩種類訪問和引用:該類本身、該類的所有子類
C、只能被該類自身所訪問和修改
D、只能被同一個包中的類訪問
本題考查的是成員變數的修飾符。
private修飾的變數說明變數為私有訪問。只能被該類自己訪問或呼叫,是對成員變數的高階保護。
故本題答案為C。
3、當檢索一個壓縮檔案時,首先要建立壓縮檔案輸入流物件。該物件 。
A、以選中的壓縮檔案為引數
B、以FileInputStream物件為引數
C、以InputStreamReader物件為引數
D、以BufferedReader物件為引數
本題考查的是壓縮檔案。
在包中提供了對壓縮檔案進行操作的能力。它是通過壓縮檔案輸入流與壓縮檔案輸出流來實現的,其分別繼承自InflaterInputStream與DeflaterOutputStream。在建立壓縮檔案輸入流時,其初始化引數是一個FileInputStream類的例項。
故本題答案為B。
4、計算機中的流是______ 。
A、流動的位元組
B、流動的物件
C、流動的檔案
D、流動的資料緩衝區
本題考查的是流的概念。
流,最早從C語言中引入的。其可以看成是一個流動的資料緩衝區。資料從資料來源方向經過緩衝區流向資料的目的地。在傳送的過程中,其傳送方式是序列的。在Java中的包中定義了Java中常見流的介面與類。其中包括兩個最基本的流的抽象類,它們分別是OutputStream與InputStream。其餘的流都分別從這兩個基本類中繼承而來。
故本題答案為D。
1、結構化程式設計主要強調的是______。
A、程式的規模
B、程式的易讀性
C、程式的執行效率
D、程式的可移植性
結構化程式設計主要強調的是結構化程式清晰易讀,可理解性好,程式設計師能夠進行逐步求精、程式證明和測試,以保證程式的正確性。
本題答案為B。
2、資料庫設計包括兩個方面的設計內容,它們是______。
A、概念設計和邏輯設計
B、模式設計和內模式設計
C、內模式設計和物理設計
D、結構特性設計和行為特性設計
資料庫設計可分為概念設計與邏輯設計。
資料庫概念設計的目的是分析資料間內在語義關聯,在此基礎上建立一個數據的抽象模型。
資料庫邏輯設計的主要工作是將ER圖轉換為指定的RDBMS中的關係模型。
本題答案是A。
3、為AB類的一個無形式引數無返回值的方法method書寫方法頭,使得使用類名AB作為字首就可以呼叫它,該方法頭的形式為______。
A、static void method( )
B、public void method( )
C、final void method( )
D、abstract void method( )
本題考查的是修飾符的含義。
1、public修飾的方法可被其它類訪問或引用。
2、abstract修飾的方法是抽象方法,抽象方法沒有方法體,要使用抽象方法,必須先實現此抽象方法。
3、final修飾的方法不能被繼承。
4、static修飾的方法為靜態方法,靜態方法不需要類的例項化就可以被類直接呼叫。
故要使得類名AB可以直接呼叫method()方法,則必須在method()前用static來修飾。
故本題答案為A。
4、偷聽介面的方法返回值的型別是______。
A、int
B、String
C、void
D、Object
本題考查的是偷聽。
每個事件都有自己的偷聽,偷聽本身是一種介面,該介面中的方法,返回值是void型別。當要為指定的類註冊偷聽時,就可以通過定在實現該介面的類中定義該方法,這樣可以在某個事件發生後,將會自動執行相應方法中的程式碼。
故本題答案為C。
5、outer: for(int i=0;i<3; i++)
inner: for(int j=0;j<2;j++)
{
if(j==1) continue outer;
tln(j+ "and "+i+";");
}
以上程式碼輸出是 。
A、0 and 0;0 and 1;0 and 2;
B、0 and 0;1 and 0;2 and 0;
C、1 and 0;1 and 1;1 and 2;
D、2 and 0;2 and 1;2 and 2;
本題考查的是多重迴圈。
首先介紹一下continue語句的功能:continue語句是跳過迴圈體中下面尚未執行的語句,回到迴圈體的`開始,繼續下一輪的迴圈。
本題程式執行過程如下:
i=0:
j=0 條件j==1不成立,輸出j和i,即0 and 0;
j=1 條件j==1成立,執行continue,跳過tln(j+ "and "+i+";");執行下一輪迴圈j=2;
j=2 條件j<2不滿足,退出內層迴圈,繼續外層迴圈。
i=1:
j=0 條件j==1不成立,輸出j和i,即0 and 1;
j=1 條件j==1成立,執行continue,跳過tln(j+ "and "+i+";");執行下一輪迴圈j=2;
j=2 條件j<2不滿足,退出內層迴圈,繼續外層迴圈。
i=2:
j=0 條件j==1不成立,輸出j和i,即0 and 2;
j=1 條件j==1成立,執行continue,跳過tln(j+ "and "+i+";");執行下一輪迴圈j=2;
j=2 條件j<2不滿足,退出內層迴圈,繼續外層迴圈。
i=3:條件i<3不滿足,結束。
故本題答案為A。
程式設計題
1、 編寫一個Java Application 程式,main程式輸入10個整數給陣列,通過函式getMinAndMax(int a[])得到這10個整數的最大值和最小值並輸出結果。
class App {
static void getMinAndMax(int a[]) {
int min,max;
min = max = a[0];
for(int i=1;i if(a[i]>max)
max=a[i];
if(a[i] min=a[i]; }
tln(“Array’Max Value:”+max);
tln(“Array’Min Value:”+min);
}
public static void main(String[] args) {
int arr[] = {4,6,72,9,14,3,8,23,56,32};
getMinAndMax(arr); } }
2、編寫一個完整的Java Application 程式。包含介面ShapeArea, Rectangle
類,Triangle類及Test類,具體要求如下:
⑴介面ShapeArea:
double getArea( ):
求一個形狀的面積
double getPerimeter ( ):
求一個形狀的周長
⑵類 Rectangle:實現ShapeArea介面,並有以下屬性和方法:
① 屬性
width: double型別,表示矩形的長 height: double型別,表示矩形的高
② 方法
Rectangle(double w, double h):建構函式
toString( )
方法 :輸出矩形的描述資訊,如“width=1.0,height=2.0, perimeter=6.0, area=2.0”
⑶類Triangle:實現ShapeArea介面,並有以下屬性和方法:
① 屬性
x,y,z: double型,表示三角形的三條邊
s: 周長的1/2(注:求三角形面積公式為))( )((zsysxss,s=(x+y+z)/2 ,開方可用(double)方法)
② 方法
Triangle(double x, double y, double z):
建構函式,給三條邊和s賦初值。
toString( ):
輸出矩形的描述資訊,如“three sides:3.0,4.0,5.0,perimeter=12.0,area=6.0”
⑷Test類作為主類要完成測試功能
① 生成Rectangle物件
②
呼叫物件的toString方法,輸出物件的描述資訊
interface ShapeArea { double getArea( );
double getPerimeter( );
}
class Rectangle implements ShapeArea { double width,height;
Rectangle(double w,double h) {ko width =w;
height=h;
}
public void toString( )
{
tln("width="+width+",height="+height+", perimeter="+ getPerimeter( )+", area="+ getArea( ));
}
public double getArea( )
{ return width*height;
}
public double getPerimeter( )
{ return 2*(width+height);
} }
class Triangle implements ShapeArea { double x,y,z,s; Triangle(double x, double y, double z) { this.x =x; this.y=y;
this.z=z; s = (x+y+z)/2; }
public void toString( )
{
tln("Three Sides:"+x+","+y+","+z+",Perimeter="+ getPerimeter( )+", area="+ getArea( ));
}
public double getArea( )
{
return (s*(s-x)*(s-y)*(s-z));
}
public double getPerimeter( )
{ return x+y+z;
} }
class test { public static void main(String[] args) { Rectangle rct = new Rectangle(4,5);
_String( );
} }
1、下列敘述中,錯誤的是______。
A、Applet的預設佈局管理器是FlowLayout
B、JApplet中增加構件是加到JApplet的內容面板上,不是直接加到JApplet中
C、JApplet的內容面板的預設佈局管理器是BorderLayout
D、JApplet的內容面板的預設佈局管理器是FlowLayout
本題考的是佈局管理器。
向JApplet中增加構件,是把構件新增到Swing Applet的內容面板中;對JApplet設定佈局管理器,是對Swing Applet的內容面板進行設定,Swing Applet的內容面板的預設佈局管理器是BorderLayout,所以,JApplet的內容面板的預設佈局管理器是BorderLayout;而Applet的預設佈局管理器是FlowLayout。
故本題答案為D
而japplet是applet的子類
2、 護本地主機,對Applet安全限制中正確的是______。
A、Applet可載入本地庫或方法
B、Applet可讀、寫本地計算機的檔案系統
C、Applet可向Applet之外的任何主機建立網路連線
D、Applet不能執行任何本地可執行程式
許多瀏覽器為了保護本地主機,對Applet作了如下安全限制:
1、Applet不能執行任何本地可執行程式;
2、禁止載入本地庫或方法;
3、禁止讀、寫本地計算機的檔案系統;
4、禁止向提供Applet之外的任何主機建立網路連線;
5、不能讀取某些系統資訊,除了Java版本號、作業系統名或版本號、檔案分隔符、路徑分隔符以及行分隔符之外,Applet不能獲得與本地計算機有關的任何資訊,如:使用者名稱、電子郵件地址等;
6、由一個Applet彈出的視窗外觀上與一個Application彈出的視窗不同,Applet彈出的視窗中將會有警告提示資訊,以幫助使用者區分Applet視窗與可信的Application視窗。
故本題答案為D。
3、Java對I/O訪問所提供的同步處理機制是______。
A、位元組流
B、過濾流
C、字元流
D、壓縮檔案流
本題考的是過濾流。
Java對I/O訪問所提供的同步處理機制是過濾流。一般,使用一個過濾流要求首先把過濾流連線到某個I/O流上,再通過構造方法的引數去指定連線的I/O流。
故本題答案為B。
4、 Panel類的預設佈局管理器是______。
A、BorderLayout
B、CardLayout
C、FlowLayout
D、GridBagLayout
本題考的是佈局管理器。
FlowLayout是Panel和Applet的預設佈局管理器。
故本題答案為C。
5、Java對檔案類提供了許多操作方法,能獲得檔案物件父路徑名的方法是______。
A、getAbsolutePath()
B、getParentFile()
C、getAbsoluteFile()
D、getName()
本題考的是File類提供的方法。
getAbsolutePath():得到一個檔案的絕對路徑名;
getParentFile():得到檔案物件父路徑名;
getAbsoluteFile():等價於new File(bsolutePath());
getName():得到一個不包含路徑的檔名。
故本題答案為B。
1、Swing與AWT相比新增的佈局管理器是______。
A、CardLayout
B、GridLayout
C、GridBagLayout
D、BoxLayout
本題考查的是佈局管理器。
Swing繼續沿用AWT中的佈局管理器,包括FlowLayout、BorderLayout、CardLayout、GridLayout、GridBagLayout,另外Swing新增加了一個BoxLayout佈局管理器。
故本題答案為D。
2、下列對Java特性的敘述中,錯誤的是______。
A、在編寫Java子類時可以自由地增加新方法和屬性
B、Java的Applet要求程式設計首先建立JFrame視窗
C、Java語言用直譯器執行位元組碼
D、Java中的類一般都有自己的屬性和方法
本題考查的是Applet的概念。
Applet是能夠嵌入到HTML頁面中,並能夠在瀏覽器中執行的Java類,本身並不一定需要首先建立窗體,但可以使用JApple類來使用Swing構件。
Swing包中的JFrame類與建立視窗有關,是提供給java應用程式用來放置圖形使用者介面的一個容器。
JApplet類與JFrame一樣是頂層的Swing容器。包含Swing構件的Applet必須是JApplet的子類。
故本題答案為B。
3、閱讀下面求質數的程式
import .*;
public class MorePrimesTest{
public static void main(String[] args){
long[] primes=new long[20];
primes[0]=2L;
primes[1]=3L;
long number=5L;
outer:
for(int count=2;count long limit=(long)(((double)number));
for(int i=1;i if(number ______ primes[i]==0L){
continue outer;
}
}
primes[count++]=number;
}
for(int j=0;j long n=primes[j];
tln(n);
}
}
}
在程式下劃線處填入的正確選項是______。
A、&
B、*
C、/
D、%
本題考查的是JAVA程式結構。
所謂質數或稱素數,就是一個正整數,除了本身和1以外並沒有任何其他因子。任何一個整數,可以寫成一串質數相乘的積。
程式中首先定義了包含有20個元素的長整型陣列,為陣列的第一,第二個元素賦值,並且還定義了一個長整型變數"long number=5L;",然後進入迴圈,該迴圈的作用是判斷當前變數number的值是否為質數,其中(double x)方法的作用是求x的平方根,而()方法的作用是求最小的整數但不小於本身(例如:(3.14)則返回4),在本次迴圈中,需要判斷變數number與primes[i]的取餘操作,如果變數number與小於自己的平方根取整且小於count的數取餘數為0,則跳出迴圈,將number的值寫入陣列中,當20個元素填滿後,程式依次輸出陣列元素。
故本題答案為D。
4、在Java中,"目錄"被看作是______。
A、檔案
B、流
C、資料
D、介面
本題考查的是目錄的概念。
目錄在Java中作為一種特殊檔案,即檔名的列表,通過類File所提供的方法,可得到檔案或目錄的描述資訊(包括名字、路徑、長度、可讀、可寫等),也可以生成新檔案、目錄、修改檔案和目錄,查詢檔案屬性,重新命名檔案或者刪除檔案。
故本題答案為A。
5、下列帶下劃線的識別符號符合Java命名約定的是______。
A、package
B、public class xyz
C、int I
D、void setCustomerName()
本題考查的是Java命名約定。
包的名字應該都是由小寫單片語成。它們全都是小寫字母,即便中間的單詞亦是如此,所以A選項錯誤。
類名的第一個字母一定要大寫,所以B選項錯誤;
變數的第一個字母應該為小寫,所以C選項錯誤;
與屬性相對應的get、set方法為:set(get)+屬性名,屬性名第一個字母為大寫,所以D選項正確。
故本題答案為D。
6、在Java語言中,被稱為記憶體分配的運算子是______。
A、new
B、instance of
C、[ ]
D、( )
本題考查的是JAVA關鍵字。
Java語言中,程式為物件動態分配記憶體。Java中記憶體分配的運算子是new。
故本題答案為A。