2021年java基礎(chǔ)測試題及答案_第1頁
2021年java基礎(chǔ)測試題及答案_第2頁
2021年java基礎(chǔ)測試題及答案_第3頁
2021年java基礎(chǔ)測試題及答案_第4頁
2021年java基礎(chǔ)測試題及答案_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2021年java基礎(chǔ)測試題及答案

java基礎(chǔ)測試題及答案1

一、單選題:(每道題目2分)

1、下列哪個聲明是錯誤的?(B)

A、inti=10;

B、floatf=1.1;//fIoatf=1.1f

C>doubIed=34.4;

D>byteb=127;

long類型的數(shù)據(jù)加后綴L或者I

float類型的數(shù)據(jù)加后綴F或者千

整數(shù)默認是int類型

浮點數(shù)默認是doubIe類型

2、下面哪個不是java中的關(guān)鍵字?(C)

A、public

B、true

C、main

D、class

3、下面程序哪個語句是正確的(C)

A、bytea=0,b=3;bytec=a+b;//a+b的類型為int

B、shorts=23;s=s+12;

//s+12底層是轉(zhuǎn)成int進行相加,所以結(jié)果為into

C、shorts=23;s+=12;//相當于s=(short)(s+12)

D、floatf=23+23.23;//23+23.23的結(jié)果為double

4、下面程序執(zhí)行的結(jié)果是?(B)

classTest

(

pubIicstaticvoidmain(String[]args)

(

System,out.printIn(+匕'+1);

1

}

A、98

B、a1

C、971

D、197

〃空串放前相當于字符串的拼接,空串放后,匕,+1,先

做運算,再與空串進行拼接,byte,short,char可以自動轉(zhuǎn)為

int,

5、下面程序執(zhí)行的結(jié)果是?(B)

inti=100;

whiIe(true)

if(i++>100)//i先計算在自加

break;

}

System.out.println(i);

}

A、100

B、101

C、102

D、報錯

6、下面程序的,運行結(jié)果是(D)

inta=3,b=1;

if(a=b)

(

System.out.println(na="+a);

1

A、a=1

B、a=3

C、編譯錯誤

D、正常運行但沒有輸出

7、下面程序的運行后,結(jié)果正確的是:(B)

inta=1,b=2;

intc=(a+b>3?a++:++b);//a=1,b=3,c=3

A、a=2,b=3

==

B、319b3

C、a=1,b=2

D、c=2

8、下面程序的運行結(jié)果(B)

cIassDemo

(

pubIicstaticintfun(intc)

(

returnc+=2;

}

pubIicstaticvoidmain(String[]args)

(

inttemp=fun(2);

System,out.println(temp);

}

)

A、2

B、4

C、6

D、8

9、下面數(shù)組定義錯誤的是(C)

A、int[]arr={23,45,65,78,89};//靜態(tài)初始化

B、int[]arr=newint[10];//動態(tài)初始化

C、int[]arr=newint[4]{3,4,5,6);

D、int[]arr={'a:23,45,6);

//匕'可以自動轉(zhuǎn)為int,

10、下面程序執(zhí)行的結(jié)果是?(D)

intx=1,y=1;

if(x++=2&++y==2)

//x=2,y=2,&與&&的結(jié)果相同但是&不具有短路效果

(

x=7;

)

System.out.println(l,x=M+x+H,y=*,+y);

A、x=1y=2

B、x=7y=1

C、x=7y=2

D>x=2y=2

11、下面不屬于基本數(shù)據(jù)類型的是(D)

A、int

B、doubIe

C、long

D、int[]〃引用類型

12、下面程序執(zhí)行的結(jié)果是?(C)

booleanb=true;

if(b=faIse)//將false賦值給b,則b=faIse

System.out.println(r,a");

}

elseif(b)

(

System.out.println(nbn);

}

elseif(!b)

(

System.out.println(McH);

}

else

(

System,out.println(ndn);

}

A、a

B、b

C、c

D、d

13、下面程序執(zhí)行的結(jié)果是?(D)

intx=2,y=3;

switch(x)

(

default:

y++;//y=4,但是沒有break,程序繼續(xù)向下執(zhí)行

case3:

y++;

case4:

y++;

}

Sysetem.out.println(My=M+y);

A、3

B、4

C、5

D、6

14、下面程序執(zhí)行的結(jié)果

for(inti=1;i<=10;i++)

(

if(i%3=0)

continue;//continue跳出本次循環(huán)

}

System.out.println(ajava基礎(chǔ)班”);

}

在屏幕上打印幾次“java基礎(chǔ)班”?(C)

A、5

B、6

C、7

D、8

15.閱讀下面代碼段:

cIassDemo

pubIicstaticvoidmain(String[]args)

int[]arr=newint[10];

System.out.println(arr[1]);

}

執(zhí)行結(jié)果正確的說法是(C)

A、編譯時將產(chǎn)生錯誤

B、編譯時正確,運行時將產(chǎn)生錯誤

C、輸出零

D、輸出空

16.和下面代媽能完成相同的選項是(B)

inti=1;

intsum=O;

while(i<=100)

if(i%2=0)

(

sum=sum+i;

1

i++;

}

A、for(intx=1;x<=100;x++){sum=sum+x;}

B、for(intx=0;x<=100;x+=2){sum=sum+x;}〃偶

數(shù)求和

C、for(intx=1;x<=100;x+=2){sum=sum+x;)〃奇

數(shù)求和

D.上述全對

17、以下代碼輸出是(D)

inti=0;

intsum=0;

while(i<=10)

i++;

if(i%2!=0)

continue;

sum+=i;

}

System.out.printIn(sum);//sum=2+4+6+8+10

A、55

B、45

C、35

D、30

18、給出下列代碼片段:

if(x>0){System,out.println(^Hellow);}

elseif(x>-3){System.out.pirntln(aIamTom");}

else{System.out.printIn("Howareyou?99);}

請問將打印字符串“Howareyou?”的x的范圍是(C)

A、x>0

B、x>-3

C、x<=-3

D、x<=0x=MH>-3

19、下列代碼執(zhí)行的結(jié)果為(A)

cIassDemo

pubIicstaticvoidmain(String[]args)

intnum=max(43,34);//num=43

System.out.println(num);

}

pubIicstaticintmax(inta,intb)

(

returna>b?a:b;

1

}

A、43

B、23

C、77

D、9

20、下面程序執(zhí)行的結(jié)果是(A)

classDemo

(

pubIicstaticvoidmain(String[]args)

(

inta=10;

if(a++>10)

a=20;

)

System,out.printIn(a);

}

}

A、11

B、12

C、20

D、21

21、下面哪項可以得到數(shù)組元素的個數(shù),java中定義數(shù)組

名為abc,(B)

A、abc.Iength()B、abc.lengthC、Ien(abc)D、

abound(abc)

22、構(gòu)造方法何時被調(diào)用(B)

A.類定義時B.創(chuàng)建對象時C.調(diào)用對象方法時D.使用對象

的變量時

23、下列語句片段inta=10,b=4,c=20,d=6;

System.out.printIn(a++*b+c*—d);的結(jié)果為(C)

A.144B.28C.140D.不能執(zhí)行

24、下面哪個修飾符修飾的方法只能被本類中的其他方法使

用(C)

A、protectedB、staticC、privateD、pubIic

25、編譯并運行下述程序段的結(jié)果是:(A)。

pubIicclassTest{

pubIicstaticvoidmain(Stringargv[]){int[]count

=newint[4];System,out.printIn(count[4]);}}

A.編譯時錯誤B.運行時錯誤C.輸出0D.輸出null

26、在java的一個異常處理中,哪個語句塊可以有多個

A、catchB、finallyC、tryD、throws

27、若在某一個類定義中定義有如下的方法:finalvoid

aFinalFunction();則該方法屬于(C)。

A.本地方法B.靜態(tài)方法C.最終方法D.抽象方法

28、哪個關(guān)鍵字可以拋出異常?(C)A、transientB、

finallyC、throwD、static

29、類Testi定義如下:

1)pubIicclassTesti{

2)pubIicfIoataMethod(floata,floatb){}3)

4)}將以下哪種方法插入行3是不合法的。(B)A、public

floataMethod(floata,floatb,floatc){}B、pubIic

fIoataMethod(floatc,floatd){}C、pubIicintaMethod

(inta,intb){}

D、privatefloataMethod(inta,intb,intc){}

30、Java程序的.執(zhí)行過程中用到一套JDK工具,其中

java.exe是指(B)

A.Java文檔生成器B.Java解釋器C.Java編譯器D.Java

類分解器

31、在異常處理中,如釋放資源、關(guān)閉文件、關(guān)閉數(shù)據(jù)庫等

由(C)來完成。

A.try子句B.catch子句-finally子句D.throw子句

32、定義一個類名為“MyClass.java”的類,并且該類可被

一個工程中的所有類訪問,那么該類的正確聲明應(yīng)為:(C)

A.privateclassMyClassextendsObjectB.class

MyClassextendsObjectC.pubIicclassMyClass

D.protectedclassMyClassextendsObject

33、給出如下代碼:

classTest{privateintm;

pubIicstaticvoidfun(){//somecode...}}

如何使成員變量m被函數(shù)fun()直接訪問?(C)A、將

privateintm改為protectedintmB>將privateintm改

為pubIicintmC>將privateintm改為staticintmD>

將privateintm改為intm

34、A派生出子類B,B派生出子類C,并且在Java源代碼

中有如下聲明:1)AaO=newA();

2)Aa1=newB();3)Aa2=newC();

問以下哪個說法是正確的?(D)A.只有第1行能通過編

B.第1、2行能通過編譯,但第3行編譯出錯

C.第1、2、3行能通過編譯,但第2、3行運行時出錯D.第

1行、第2行和第3行的聲明都是正確的

35、下面哪個語句(初始化數(shù)組)是不正確的:(B)

A.intx[]={1,2,3};B.intx[3]={1,2,3);

C.int[]x={1,2,3};D.intx[]=newint[]{1,2,3);

36、下述概念中不屬于面向?qū)ο蠓椒ǖ氖?D)o

A.對象、消息B.繼承、多態(tài)C.類、封裝D.過程調(diào)用

37、下面哪條語句把方法聲明為抽象的公共方法?(B)

A.publicabstractmethod();B.pubIicabstractvoid

method();0.publicabstractvoidmethod(){}D.publicvoid

method()extendsabstract;

38、在java中如果要在字符串類型對象s=“JAVA”,中找

出“V?出現(xiàn)的位置可使用下面哪個法:⑹A.mid(2,s);

B.charAt(2);C.s.indexOf(aV?);D.indexOf(s,?V?);

39、給出下面代碼:

publicclassPerson{staticintarr[]=newint[10];

pubIicstaticvoidmain(Stringa[])

{System.out.printIn(arr[1]);})

哪個語句是正確的?(B)

A.編譯時將產(chǎn)生錯誤;B.輸出零;C.編譯時正確,運行時

將產(chǎn)生錯誤;D.輸出空。

java基礎(chǔ)測試題及答案2

(總分100分,時間60分鐘)

一、選擇題GOx2分)

1.下列不可作為Java語言修飾符的是:()

A)a1

B)$1

C)」

D)11

2.整型數(shù)據(jù)類型中,需要內(nèi)存空間最少的是:()

A)short

B)Iong

C)int

D)byte

3.double數(shù)據(jù)類型的默認值是多少?()

A)0

B)0.0

C)null

D)0.Od

4.對于變量intval=0b11010,System,out.printing"+val)

輸出是多少?()(注:在Java7之后,可以用0b開頭標識二

進制數(shù))

A)26

B)64

C)28

D)32

5.Stringisan().

A)Class

B)Variable

C)Array

D)Datatype

6.WhichofthesemethodofStringclasscanbeusedto

testtostringsforequality?()

A)isequaI()

B)isequaIs()

C)equaI()

D)equaIs()

7.指出正確的表達式。()

A)byte=128;

B)BooIean=nuII;

C)longl=0xfffL;

D)doubled.9239d;

8.System類在哪個包中?()

A)java.utiI

B)java,lang

C)java,awt

D)java,io

9.下面哪種注釋方法能夠支持javadoc命令:()

A)/**.?.**/

B)/*...*/

C)//

D)/**.?.*/

10.若2=8,則表達式a?>2的值是多少?()

A)1

B)4

C)3

D)2

二、填空題(15x2分)

1.Java程序的入口是main方法,它的參數(shù)是。

2.變量的3要素是變量名,和變量值。

3.JVM具體是指o

4.Java中的基本數(shù)據(jù)類型有種。

5.兩個方法有相同的名稱和參數(shù),但返回值不同,是否是重載?

6.實現(xiàn)接口的不必實現(xiàn)接口中定義的全部方法。

7.包裝類Integer和String類的相同點是,它們都是。

8.Java中有一個處理日期的類Date,但此類已不推薦再使用,

替代它的是o

9.final關(guān)鍵字修飾類表示類。

10.將字節(jié)流轉(zhuǎn)換為字符流的兩個類是o

11.FiIeInputstream使用讀取文件,不能直接處理Unicode

字符。

12.Java中線程實現(xiàn)了接口。

13.線程可以主動調(diào)用sleep。方法或者方法主動放棄

CPUo

14.自定義的類UtiIs中,一個靜態(tài)方法用關(guān)鍵字synchronized

修飾,該同步鎖對應(yīng)的對象是o

15.在Java網(wǎng)絡(luò)編程中,TCP和UDP都基于。

三、代碼閱讀題(5x3分)

1.下面代碼的作用是交換數(shù)組的第一個元素和最后一個元素,

改正其中的錯誤。

publicclassTest{

pubIicstaticvoidmain(String[]args){

int[]Iist=newint[]{4,4,5,2,7,11;

inttemp;//臨時變量

//交換數(shù)組的第一個元素和最后一個元素

Iist[0]=temp;

temp=Iist[5];

Iist[5]=Iist[0];

}

}

2.分析以下代碼,寫出運行結(jié)果。

intnum=90;

System.out.print(num++);

doubIea=89.5;

intb=(int)a+10;

System,out.printIn(nn+b);

3.閱讀以下代碼:

classtest{

pubIicstaticvoidmain(String[]args){

Animalanimal=newCat();

animal,running();

}

]

classAnimal(

pubIicvoidrunningO{

System.out.printIn("AnimaIisrunning!");

1

}

classCatextendsAnimal{

pubIicvoidrunning(Stringtarget){

System,out.printIn("CatisrunningtoH+target);

1

pubIicvoidrunningO{

System,out.printIn("Catisrunning.");

1

)

它的運行結(jié)果是什么?

4.以下代碼的運行結(jié)果是什么:

classHeiIoA{

publieHe11oA(){

System.out.println("He11oAn);

1

{System.out.printIn(HI1mAclass'1);}

static{System,out.println(nstaticA");}

)

pubIicclassHeiIoBextendsHe11oA{

publieHeIIoB(){

System.out.println(MHeIIoB");

1

{System.out.printIn(nI'mBclass");}

static{System,out.println(nstaticB");}

pubIicstaticvoidmain(String[]args){

newHeIIoB();

}

}

5.修改以下代碼中的錯誤,改正后輸出是多少?

interfaceRideable{

StringgetGait();

}

pubIicclassGameIimplementsRideable{

intweight=2;

pubIicstaticvoidmain(String[]args){

newGameI().go(8);

1

voidgo(intspeed){

++speed;

weight++;

intwalkrate=speed*weight;

System,out.print(waIkrate+getGait());

1

StringgetGait(){

returnnmph,lope”;

1

}

四、簡答題(5x5分)

1.&和&&的區(qū)別。

2.簡述接口和抽象類的區(qū)別。

3.簡述TCP和UDP的區(qū)別。

4,什么是死鎖(deadIock)?

5.Java中處理正則表達式的主要的類是Pattern和Matcher,

簡述這兩個類的功能。

五、綜合題(10分)

1.Singleton模式:

什么是Singleton模式?舉一個應(yīng)用了單例模式的例子。

寫一個單例模式的類,有g(shù)etInstance方法。

請實現(xiàn)線程安全的單例模式。

請用doublecheckedlocking實現(xiàn)線程安全的單例模式。

如何防止通過反射實例化多個SingIetonClass的對象?

參考答案:

選擇題(10x2分)

1、D2、D3、D4、A5、A6、D7、C8、B9、D10、D

二、填空題(15x2分)

字符串數(shù)組

變量類型

Java虛擬機

8

不是

抽象類

不可變的

Calendar

不可被繼承

InputStreamReader和OutputStreamWriter

字節(jié)

Runnable

yieId()

Utils.class

Socket

三、代碼閱讀題(5x3分)

temp沒有賦初值

9099

Catisrunning.

staticA

staticB

HmAclass

He11oA

I'mBclass

HeiloB

interfaceRideable{

StringgetGait();

}

pubIicclassGameIimplementsRideable{

intweight=2;

pubIicstaticvoidmain(String[]args){

newGameI().go(8);

]

voidgo(intspeed){

++speed;

weight++;

intwalkrate=speed*weight;

System.out.print(waIkrate+getGait());

}

StringgetGait(){

return"mph,lopeM;

1

GameI中g(shù)etGait方法增加public訪問修飾符。

輸出是:27mph,lope

四、簡答題(5x5分)

1.&和&&的區(qū)別。

&和&&都可作為邏輯運算符“與”使用,但是&&是“短路與”,

運算時先判斷符號前面的表達式的值,如果能夠確定整個表達式

的值,則不進行符號后面的表達式的運算。

另外,&也可作為位運算符使用。

2.簡述接口和抽象類的區(qū)別。

只有接口能繼承接口。

接口中的所有變量被自動設(shè)為finaL

接口的執(zhí)行比抽象類要慢。

接口中方法的作用域只能是public的,抽象類則無此限制。

抽象類可以實現(xiàn)方法,但接口不行。接口只包含方法簽名,不包

含方法體。

一個類可以實現(xiàn)多個接口,但只能繼承一個抽象類。

3.簡述TCP和UDP的區(qū)別。

TCP(TransmissionControlProtocol,傳輸控制協(xié)議)是基于

連接的協(xié)議,也就是說,在正式收發(fā)數(shù)據(jù)前,必須和對方建立可

靠的連接。一個TCP連接必須要經(jīng)過三次“對話”才能建立起來,

其中的過程非常復(fù)雜,我們這里只做簡單、形象的介紹,你只要

做到能夠理解這個過程即可。我們來看看這三次對話的簡單過

程:主機A向主機B發(fā)出連接請求數(shù)據(jù)包:“我想給你發(fā)數(shù)據(jù),

可以嗎?",這是第一次對話;主機B向主機A發(fā)送同意連接和

要求同步(同步就是兩臺主機一個在發(fā)送,一個在接收,協(xié)調(diào)工

作)的數(shù)據(jù)包:“可以,你什么時候發(fā)?”,這是第二次對話;

主機A再發(fā)出一個數(shù)據(jù)包確認主機B的要求同步:“我現(xiàn)在就發(fā),

你接著吧!”,這是第三次對話。三次“對話”的目的是使數(shù)據(jù)

包的發(fā)送和接收同步,經(jīng)過三次“對話”之后,主機A才向主機

B正式發(fā)送數(shù)據(jù)。

UDP(UserDataProtocol,用戶數(shù)據(jù)報協(xié)議)是與TCP相對應(yīng)

的協(xié)議。它是面向非連接的協(xié)議,它不與對方建立連接,而是直

接就把數(shù)據(jù)包發(fā)送過去!

UDP適用于一次只傳送少量數(shù)據(jù)、對可靠性要求不高的應(yīng)用環(huán)

境。比如,我們經(jīng)常使用“ping”命令來測試兩臺主機之間TCP/IP

通信是否正常,其實“ping”命令的原理就是向?qū)Ψ街鳈C發(fā)送

UDP數(shù)據(jù)包,然后對方主機確認收到數(shù)據(jù)包,如果數(shù)據(jù)包是否到

達的消息及時反饋回來,那么網(wǎng)絡(luò)就是通的。UDP協(xié)議是面向非

連接的協(xié)議,沒有建立連接的過程。正因為UDP協(xié)議沒有連接的

過程,所以它的通信效果高;但也正因為如此,它的可靠性不如

TCP協(xié)議高。QQ就使用UDP發(fā)消息,因此有時會出現(xiàn)收不到

4.什么是死鎖(deadIock)?

兩個進程都在等待對方執(zhí)行完畢才能繼續(xù)往下執(zhí)行的時候就發(fā)

生了死鎖。結(jié)果就是兩個進程都陷入了無限的等待中。

5.Java中處理正則表達式的主要的類是Pattern和Matcher,

簡述這兩個類的功能。

pattern對象是一個正則表達式的編譯表示。Pattern類沒有公

共構(gòu)造方法。要創(chuàng)建一個Pattern對象,你必須首先調(diào)用其公共

靜態(tài)編譯方法,它返回一個Pattern對象。該方法接受一個正則

表達式作為它的第一個參數(shù)。

Matcher對象是對輸入字符串進行解釋和匹配操作的引擎。與

Pattern類一樣,Matcher也沒有公共構(gòu)造方法。你需要調(diào)用

Pattern對象的matcher方法來獲得一個Matcher對象。

五、綜合題(10分)

1.Singleton模式:

什么是SingIeton模式?舉一個應(yīng)用了單例模式的例子。

寫一個單例模式的類,有g(shù)etInstance方法。

請實現(xiàn)線程安全的單例模式。

請用doublecheckedlocking實現(xiàn)線程安全的單例模式。

如何防止通過反射實例化多個SingIetonClass的對象?

SingIeton模式:

什么是Singleton模式?舉一個應(yīng)用了單例模式的例子。

單例模式是指,一個類在整個應(yīng)用的運行周期中只存在唯一的實

例,它會提供一個getInstance方法來訪問此實例。例如

java.lang.Runtime就是單例模式的應(yīng)用,通過getRuntime()

方法訪問。

寫一個單例模式的類,有g(shù)etInstance方法。

參考代碼:

publicclassSingIeton{

privatestaticSingleton_INSTANCE;

privateSingIeton(){};

publicstaticSingIetongetInstance(){

if(.INSTANCE=null){

sInstance=newSingIeton();

)

return_INSTANCE;

1

1

請實現(xiàn)線程安全的單例模式。

參考代碼:

publicclassSingIeton{

privatestaticSingleton_INSTANCE;

privateSingIeton(){);

publicsynchronizedstaticSingletongetInstance(){

if(_INSTANCE=nulI){

sInstance=newSingIeton();

1

return.INSTANCE;

1

}

請用doublecheckedlocking實現(xiàn)線程安全的單例模式。

參考代碼:

publicclassSingIeton{

privatestaticSingleton_INSTANCE;

privateSingIeton(){};

pubIicstaticSingletongetInstance(){

if(_INSTANCE==nulI){

synchronized(SingIeton.class){

if(.INSTANCE=null){

_INSTANCE=newSingIeton();

}

}

}

return.INSTANCE;

}

)

如何防止通過反射實例化多個SingIetonClass的對象?

單例模式是通過構(gòu)造器私有來防止外界實例化它的對象,但在

Java中,有可能通過反射訪問私有的字段和方法,一種避免的

方式是在構(gòu)造器中做檢查并拋出異常。

java基礎(chǔ)測試題及答案3

一選擇

1、下列敘述中,錯誤的是0

A、AppIet的默認布局管理器是FIowLayout

B、JAppIet中增加構(gòu)件是加到JApplet的內(nèi)容面板上,不

是直接加到JAppIet中

C、JAppIet的內(nèi)容面板的默認布局管理器是BorderLayout

D、JAppIet的內(nèi)容面板的默認布局管理器是FlowLayout

本題考的是布局管理器。

向JAppIet中增加構(gòu)件,是把構(gòu)件添加到SwingAppIet的

內(nèi)容面板中;對JApplet設(shè)置布局管理器,是對SwingAppIet

的內(nèi)容面板進行設(shè)置,SwingAppIet的內(nèi)容面板的默認布局管

理器是BorderLayout,所以,JApplet的內(nèi)容面板的默認布局管

理器是BorderLayout;而Applet的默認布局管理器是

FIowLayout。

故本題答案為D

而japplet是applet的子類

2、護本地主機,對Applet安全限制中正確的是o

A、Applet可加載本地庫或方法

B、Applet可讀、寫本地計算機的文件系統(tǒng)

C、Applet可向Applet之外的任何主機建立網(wǎng)絡(luò)連接

D、Applet不能運行任何本地可執(zhí)行程序

許多瀏覽器為了保護本地主機,對Applet作了如下安全限

制:

1、Applet不能運行任何本地可運行程序;

2、禁止加載本地庫或方法;

3、禁止讀、寫本地計算機的文件系統(tǒng);

4、禁止向提供Applet之外的任何主機建立網(wǎng)絡(luò)連接;

5、不能讀取某些系統(tǒng)信息,除了Java版本號、操作系統(tǒng)名

或版本號、文件分隔符、路徑分隔符以及行分隔符之外,Applet

不能獲得與本地計算機有關(guān)的任何信息,如:用戶名、電子郵件

地址等;

6、由一個AppIet彈出的窗口外觀上與一個AppIication

彈出的窗口不同,AppIet彈出的窗口中將會有警告提示信息,

以幫助用戶區(qū)分AppIet窗口與可信的Application窗口。

故本題答案為Do

3、Java對I/O訪問所提供的同步處理機制是。

A、字節(jié)流

B、過濾流

C、字符流

D、壓縮文件流

本題考的是過濾流。

Java對I/O訪問所提供的.同步處理機制是過濾流。一般,

使用一個過濾流要求首先把過濾流連接到某個I/O流上,再通過

構(gòu)造方法的參數(shù)去指定連接的I/O流。

故本題答案為Bo

4、Panel類的默認布局管理器是。

A、BorderLayout

B、CardLayout

C、FIowLayout

D、GridBagLayout

本題考的是布局管理器。

FIowLayout是Panel和AppIet的默認布局管理器。

故本題答案為Co

5、Java對文件類提供了許多操作方法,能獲得文件對象父

路徑名的方法是0

A、getAbsoIutePath()

B、getParentFile()

C、getAbsoIuteFile()

D>getName()

本題考的是File類提供的方法。

getAbsoIutePath():得到一個文件的絕對路徑名;

getParentFile():得到文件對象父路徑名;

getAbsoIuteFile():等價于new

FiIe(this.getAbsoIutePath());

getName():得到一個不包含路徑的文件名。

故本題答案為Bo

二、編程題1、編寫一個JavaAppIication程序App.java,

main程序輸入10個整數(shù)給數(shù)組,通過函數(shù)getMinAndMax(int

a口)得到這10個整數(shù)的最大值和最小值并輸出結(jié)果。

classApp{

staticvoidgetMinAndMax(inta[]){

intmin,max;

min=max=a[0];

for(inti=1;iif(a[i]>max)

max=a[i];

if(a[i]min=a[i];)

System,out.printin("Array'MaxValue:99+max);

System.out.printin(^Array,MinValue:w+min);

}

pubIicstaticvoidmain(String[]args){

intarr[]={4,6,72,9,14,3,8,23,56,32};

getMinAndMax(arr);}}

2、編寫一個完整的JavaAppIication程序。包含接口

ShapeArea,RectangIe

類,Triangle類及Test類,具體要求如下:

⑴接口ShapeArea:

doubIegetArea():

求一個形狀的面積

doubIegetPerimeter():

求一個形狀的周長

⑵類RectangIe:實現(xiàn)ShapeArea接口,并有以下屬性和方

法:

①屬性

width:double類型,表示矩形的長height:doubIe類

型,表示矩形的高

②方法

RectangIe(doubIew,doubleh):構(gòu)造函數(shù)

toString()

方法:輸出矩形的描述信息,如"width=1.0,height=2.0,

perimeter=6.0,area=2.0”

(3)類Triangle:實現(xiàn)ShapeArea接口,并有以下屬性和方

法:

①屬性

x,y,z:double型,表示三角形的三條邊

s:周長的1/2(注:求三角形面積公式

為))()((zsysxss,s=(x+y+z)/2,開方可用

Math,sqrt(doubIe)方法)

②方法

Triangle(doubIex,doubley,doublez):

構(gòu)造函數(shù),給三條邊和s賦初值。

toString():

輸出矩形的描述信息,如“threesides:3.0,4.0,5.0,

perimeter=12.0,area=6.0”

(4)Test類作為主類要完成測試功能

①生成Rectangle對象

調(diào)用對象的toString方法,輸出對象的描述信息

interfaceShapeArea{doubIegetArea();

doubIegetPerimeter();

}

classRectangleimpIementsShapeArea{double

width,height;

RectangIe(doubIew,doubIeh){kowidth=w;

height=h;

I

pubIicvoidtoString()

(

System,out.println(nwidth=n+width+n,height=n+height+",

perimeter=n+getPerimeter()+”,area=n+

getArea());

}

pubIicdoublegetArea()

{returnwidth*height;

}

pubIicdoublegetPerimeter()

{return2*(width+height);

1)

cIassTriangIeimplementsShapeArea{doubIex,y,z,s;

Triangle(doublex,doubley,doublez){this.x=x;

this.y=y;

this.z=z;s=(x+y+z)/2;}

pubIicvoidtoString()

(

System,out.println("Three

Sides:n+x+",M+y+n,n+z+n,Perimeter=n+

getPerimeter()+M,area=H+getArea());

}

pubIicdoublegetArea()

(

returnMath,sqrt(s*(s-x)*(s-y)*(s-z));

)

pubIicdoublegetPerimeter()

{returnx+y+z;

}}

classtest{pubIicstaticvoidmain(String[]args)

{RectangIeret=newRectangIe(4,5);

ret.to_String();

}}

java基礎(chǔ)測試題及答案4

第一,談?wù)刦inal,finally,finalize的區(qū)別。

final一修飾符(關(guān)鍵字)如果一個類被聲明為final,意味

著它不能再派生出新的子類,不能作為父類被繼承。因此一個類

不能既被聲明為abstract的,又被聲明為final的。將變量或

方法聲明為final,可以保證它們在使用中不被改變。被聲明為

final的變量必須在聲明時給定初值,而在以后的引用中只能讀

取,不可修改。被聲明為final的方法也同樣只能使用,不能重

載。

finally一再異常處理時提供finally塊來執(zhí)行任何清除

操作。如果拋出一個異常,那么相匹配的catch子句就會執(zhí)行,

然后控制就會進入finally塊(如果有的話)。

finalize一方法名。Java技術(shù)允許使用finalize。方法

在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理工作。

這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個

對象調(diào)用的。它是在Object類中定義的,因此所有的類都繼承

了它。子類覆蓋finalize()方法以整理系統(tǒng)資源或者執(zhí)行其他

清理工作。finalize()方法是在垃圾收集器刪除對象之前對這

個對象調(diào)用的、。

第二,AnonymousInnerClass(匿名內(nèi)部類)是否可以

extends(繼承)其它類,是否可以implements(實

現(xiàn))iinterface(接口)?

匿名的內(nèi)部類是沒有名字的內(nèi)部類。不能extends(繼承)

其它類,但一個內(nèi)部類可以作為一個接口,由另一個內(nèi)部類實現(xiàn)。

第三,StaticNestedClass和InnerClass的不同,說

得越多越好(面試題有的很籠統(tǒng))o

NestedClass(一般是C++的說法),InnerClass(一般是

JAVA的說法)。Java內(nèi)部類與C++嵌套類最大的不同就

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論