Java刷題日記嘹屯,20201210
雖然我什么都不會攻询,但這并不妨礙我在比賽中抱著大佬的大腿躺~
反思
昨天(1209),沒有更新刷題日記州弟,主要原因是沒有進(jìn)行刷題钧栖,更無從談起更新日記
- 為什么沒有刷題呢低零?
- 是因?yàn)闀r(shí)間不夠。
- 為什么時(shí)間不夠呢拯杠?
- 是因?yàn)樽蛱煲惶斓臐M課且全是考試掏婶,因此將時(shí)間重心放在了自己的專業(yè)課考試上,并沒有在意刷題日記的更新
- 為什么要考試呢潭陪?
- 因?yàn)榻咏趯W(xué)期末雄妥,需要有一次期末考試考核學(xué)習(xí)成果
PS.這點(diǎn)無法改變,返回上一級繼續(xù)深問 - 除了考試的時(shí)間依溯,在那之外還有時(shí)間嗎老厌?
- 有的
- 為什么那一段時(shí)間沒有用來刷題并更新刷題日記?
- 因?yàn)榭荚嚱Y(jié)束后做了一些瑣事黎炉,如吃飯枝秤,取快遞,喝奶茶等慷嗜,因此遺忘掉了該事件淀弹,同時(shí),用了一個(gè)較為整塊的時(shí)間進(jìn)行了手機(jī)游戲的游玩庆械,因此沒有了時(shí)間薇溃。
問題結(jié)束
并不是沒有時(shí)間,而是因?yàn)樽约簩⒂迷诹舜蚴謾C(jī)游戲上
以上為 5WHY 法[1]求原因缭乘,以下為解決方案
所以接下來需要做的是沐序,在每天需要做完的事做完之前,不能夠游玩游戲忿峻。
昨天(1209)的刷題日記將會在明天(1211)的時(shí)候補(bǔ)上薄啥,可能會與明天(1211)的不同步發(fā)布,但一定會有發(fā)布。
開篇語
因?yàn)樵囶}量[2]過大,因此只記錄自己做錯(cuò)的試題薯嗤,所以會有一些試題量特別大豪墅,有一些試題量特別小,但每一道都盡量帶有解析铣口。
在每一次的刷題日記的末尾滤钱,還會有一次今日的刷題總結(jié),反饋一次今天的題目整體難度感知以及感覺自己對知識點(diǎn)的掌握程度脑题。
在多天的刷題日記后件缸,會有一天不做新題,回顧舊題叔遂,但每天都會有一次更新他炊。
PS.但可能會有一天各種原因沒有做或者就是我偷懶了争剿,會在第二天的刷題總結(jié)中進(jìn)行反思。
題目
1.第一題
點(diǎn)擊窗口內(nèi)的按鈕時(shí)痊末,產(chǎn)生的事件是______蚕苇。
A、MouseEvent
B凿叠、WindowEvent
C涩笤、ActionEvent
D、KeyEventMouseEvent:處理鼠標(biāo)拖動(dòng)盒件、移動(dòng)蹬碧、單擊、按下炒刁、釋放或者進(jìn)入锰茉、退出組件的事件。
WindowEvent:處理窗口激活切心、失去活動(dòng)窗口飒筑、最小化、打開绽昏、關(guān)閉或者退出的事件协屡。
ActionEvent:處理按鈕、列表雙擊全谤、單擊菜單項(xiàng)目肤晓。
KeyEvent:處理鍵盤的輸入。
2.第二題
Applet的默認(rèn)布局管理器是______认然。
A补憾、BorderLayout
B、FlowLayout
C卷员、GridLayout
D盈匾、PanelLayoutFlowLayout是Panel和Applet的默認(rèn)布局管理器。構(gòu)件在容器中的放置規(guī)律是從上到下毕骡、從左到右進(jìn)行放置削饵,如果容器足夠?qū)挘谝粋€(gè)構(gòu)件先添加到容器中第一行的最左邊未巫,后續(xù)的構(gòu)件依次添加到上一個(gè)構(gòu)件的右邊窿撬,如果當(dāng)前行已放置不下該構(gòu)件,則放置到下一行的最左邊叙凡。構(gòu)件的大小不隨容器的大小改變而改變劈伴。
3.第三題
- 閱讀下列代碼片段
class InterestTest ______ ActionListener{
……
public void actionPerformed(ActionEvent event){
double interest = balance * rate/100;
balance += interest;
NumberFormat format =
NumberFormat.getCurrencyInstance( );
System.out.printlb("balance = "+
formatter.format(balance));
}
private double rate;
}
在下劃線處,應(yīng)填的正確選項(xiàng)是______握爷。
A跛璧、Implementation
B严里、Inheritance
C、implements
D赡模、extends
- 每類事件都有對應(yīng)的事件監(jiān)聽器田炭,監(jiān)聽器是接口。在類中使用implements關(guān)鍵字實(shí)現(xiàn)接口漓柑。
4.第四題
使新創(chuàng)建的線程參與運(yùn)行調(diào)度的方法是______教硫。
A、run()
B辆布、start()
C瞬矩、init()
D、resume()線程的生命周期主要分為如下幾個(gè)狀態(tài):新建狀態(tài)锋玲、可運(yùn)行狀態(tài)景用、運(yùn)行狀態(tài)、阻塞狀態(tài)惭蹂、終止?fàn)顟B(tài)伞插。
用new關(guān)鍵字和thread類或其子類建立一個(gè)線程對象后,該線程對象就處于新生狀態(tài)盾碗。處于新生狀態(tài)的線程有自己的內(nèi)存空間媚污,通過調(diào)用start方法進(jìn)入就緒狀態(tài)。
5.第五題
AWT中用來表示對話框的類是______廷雅。
A耗美、Font
B、Color
C航缀、Panel
D商架、DialogFont類提供的構(gòu)造方法和方法可以對字體的大小、字體的樣式等進(jìn)行設(shè)置芥玉。
Color類用來設(shè)置顏色蛇摸。
Panel通常也稱為面板,是一種透明的容器飞傀,既沒有標(biāo)題皇型,也沒有邊框,它不能作為最外層的容器單獨(dú)存在砸烦,它首先必須作為一個(gè)構(gòu)件放置到其他容器中,然后再把它當(dāng)作容器绞吁,把其他構(gòu)件放在它里面幢痘。
Dialog:對話框,對話框是Window類的子類家破。
6.第六題
當(dāng)Applet需要更新顯示內(nèi)容時(shí)颜说,應(yīng)該調(diào)用的方法是______购岗。
A、paint()
B门粪、update()
C喊积、start()
D、repaint()repaint()方法主要用于Applet的重新顯示玄妈,它調(diào)用update()方法實(shí)現(xiàn)對Applet的更新乾吻。Applet程序可以在需要顯示更新時(shí)調(diào)用該方法,通知系統(tǒng)刷新顯示拟蜻。
7.第七題
如果線程正處于運(yùn)行狀態(tài)绎签,則它可能到達(dá)的下一個(gè)狀態(tài)是______。
A酝锅、只有終止?fàn)顟B(tài)
B诡必、只有阻塞狀態(tài)和終止?fàn)顟B(tài)
C、可運(yùn)行狀態(tài)搔扁,阻塞狀態(tài)爸舒,終止?fàn)顟B(tài)
D、其他所有狀態(tài)運(yùn)行狀態(tài)是線程占有CPU并實(shí)際運(yùn)行的狀態(tài)稿蹲,此時(shí)線程狀態(tài)的變遷有3種情況:終止?fàn)顟B(tài)扭勉、可運(yùn)行狀態(tài)、阻塞狀態(tài)场绿。
8.第八題
- 閱讀下列程序
public class Test implements Runnable{
private int x=0;
private int y=0;
boolean flag=true;
public static void main(String[] args){
Test r=new Test();
Thread t1=new Thread(r);
Thread t2=new Thread(r);
t1.start();
t2.start();
}
public void run(){
while(flag){
x++;
y++;
System.out.println("("+x+","+y+")");
if(x>=10)
flag=false;
}
}
}
下列對程序運(yùn)行結(jié)果描述的選項(xiàng)中剖效,正確的是______。
A焰盗、每行的(x,y)中璧尸,可能有x≠y;每一對(x,y)值都出現(xiàn)兩次熬拒。
B爷光、每行的(x,y)中,可能有x≠y澎粟;每一對(x,y)值僅出現(xiàn)一次蛀序。
C、每行的(x,y)中活烙,x=y徐裸;每一對(x,y)值都出現(xiàn)兩次。
D啸盏、每行的(x,y)中重贺,x=y;每一對(x,y)值僅出現(xiàn)一次。
- 在本程序中气笙,Test類實(shí)現(xiàn)了Runnable接口次企,在main()方法中,以Test類的兩個(gè)實(shí)例對象分別創(chuàng)建了t1潜圃、t2兩個(gè)線程缸棵,并調(diào)用線程的start()方法將線程啟動(dòng)。在創(chuàng)建的線程中谭期,Test類的run()方法就是線程體堵第,當(dāng)main()方法中的t1、t2啟動(dòng)時(shí)崇堵,是從Test類對象的run()開始執(zhí)行的型诚。
在Test類中首先用private定義了兩個(gè)int類型的私有成員變量x、y鸳劳,并為其賦初值x=0狰贯,y=0,并定義了一個(gè)boolean類型的變量flag赏廓。在run()方法中涵紊,使用while循環(huán)來控制輸出,while循環(huán)的判斷條件就是布爾型變量flag幔摸,當(dāng)flag=true時(shí)摸柄,執(zhí)行循環(huán)體,直到x>=10時(shí)既忆,程序執(zhí)行語句flag=false;退出整個(gè)循環(huán)驱负,run()方法運(yùn)行結(jié)束。
變量XY是程序外部定義的患雇,所以每一對(x,y)值僅出現(xiàn)一次跃脊。t1與t2兩個(gè)線程運(yùn)行的先后順序不一定,所以可能有x≠y苛吱。
9.第九題
- 閱讀下列代碼
class Test implements Runnable{
public int run(){
int i = 0;
while (true){
i++;
System.out.println("i="+i);
}
}
}
上述代碼的編譯結(jié)果是______酪术。
A、程序通過編譯并且run()方法可以正常輸出遞增的i值
B翠储、程序通過編譯绘雁,調(diào)用run()方法將不顯示任何輸出
C、程序不能通過編譯援所,因?yàn)閣hile的循環(huán)控制條件不能為"true"
D庐舟、程序不能通過編譯,因?yàn)閞un()方法的返回值類型不是void
- run()方法必須是public訪問權(quán)限住拭,返回值類型為void继阻。
10.第十題
在關(guān)閉瀏覽器時(shí)調(diào)用耻涛,能夠徹底終止Applet并釋放該Applet所有資源的方法是______废酷。
A瘟檩、stop()
B、destroy()
C澈蟆、paint()
D墨辛、start()stop():當(dāng)Applet被覆蓋時(shí),可用該方法停止線程趴俘。
destroy():關(guān)閉瀏覽器時(shí)調(diào)用睹簇,徹底終止Applet,從內(nèi)存卸載并釋放該Applet的所有資源寥闪。
paint():畫Applet界面的基本方法太惠。
start():在init()方法完成后,將調(diào)用start()方法疲憋,使Applet成為激活狀態(tài)凿渊。
11.第十一題
如果線程調(diào)用下列方法,不能保證使該線程停止運(yùn)行的是______缚柳。
A埃脏、sleep()
B、stop()
C秋忙、yield()
D彩掐、wait()sleep()方法的作用是讓當(dāng)前線程處于休眠狀態(tài),并持續(xù)一定的時(shí)間灰追,該時(shí)間的長短由sleep()方法的參數(shù)決定堵幽。sleep()方法結(jié)束后,線程將進(jìn)入可運(yùn)行狀態(tài)弹澎。
stop()方法的作用是當(dāng)線程完成運(yùn)行并結(jié)束后朴下,將不再運(yùn)行。
yield()方法的作用是暫停當(dāng)前線程的執(zhí)行裁奇,從而允許與它具有相同優(yōu)先級的線程執(zhí)行桐猬,如果不存在可執(zhí)行且與它同優(yōu)先級的線程,則繼續(xù)執(zhí)行當(dāng)前線程刽肠。
wait()方法的作用是溃肪,當(dāng)某線程需要在synchronized塊中等待共享數(shù)據(jù)狀態(tài)改變時(shí),調(diào)用wait()方法音五,這樣該線程等待并暫時(shí)釋放共享數(shù)據(jù)對象的鎖惫撰,其它線程可以獲得該對象的鎖,并進(jìn)入synchronized塊對共享數(shù)據(jù)進(jìn)行操作躺涝,而此線程則放入wait pool中厨钻,轉(zhuǎn)入阻塞狀態(tài)。
12.第十二題
- 閱讀下列Java語句
ObjectOutputStream out =
new ObjectOutputStream(new ______("employee.dat"));
在下劃線處,應(yīng)填的正確選項(xiàng)是______夯膀。
A诗充、File
B、FileWriter
C诱建、FileOutputStream
D蝴蜓、OutputStream
- ObjectOutputStream:既繼承了OutputStream抽象類,又實(shí)現(xiàn)了ObjectOutput接口俺猿,這是Java用接口技術(shù)代替雙重繼承例子茎匠,其構(gòu)造方法參數(shù)是串行化了的對象。
FileOutputStream:用于對磁盤文件涉及的數(shù)據(jù)流進(jìn)行輸出處理押袍,即向一個(gè)文件對象中寫入數(shù)據(jù)诵冒。
13.第十三題
- 在下列程序的空白處,應(yīng)填入的正確選項(xiàng)是______谊惭。
import java.io.*;
public class WriteInt{
public static void main(String[] a){
int [] myArray = {10,20,30,40};
try{
DataOutputStream dos = new DataOutputStream(new FileOutputStream("ints.dat"));
for (int i=0;i<myArray.length;i++)
dos.writeInt(myArray[i]);
dos.______;
System.out.println("Have written binary file ints.dat");
}
catch(IOException ioe)
{ System.out.println ("IO Exception");
}
}
}
A汽馋、start()
B、close()
C午笛、read()
D惭蟋、write()
- DataOutputStream是OutputStream的子類,DataOutputStream具備數(shù)據(jù)類型或格式轉(zhuǎn)換的功能药磺,即向流中寫入數(shù)據(jù)時(shí)告组,可以實(shí)現(xiàn)對二進(jìn)制字節(jié)數(shù)據(jù)的編碼功能。
OutputStream的子類繼承以下方法:
1癌佩、write()方法:向輸出流寫入數(shù)據(jù)的方法木缝;
2、flush()方法:強(qiáng)制清空緩沖區(qū)围辙,并將緩沖區(qū)中的現(xiàn)有數(shù)據(jù)寫入外設(shè)我碟;
3、close()方法:當(dāng)輸出流使用完畢后姚建,可以調(diào)用close()方法將其關(guān)閉矫俺,斷開Java程序與外設(shè)數(shù)據(jù)源的連接,釋放此連接所占用的系統(tǒng)資源掸冤。
程序使用語句"dos.writeInt(myArray[i]);"向流中寫入int類型的數(shù)據(jù)厘托,完成數(shù)據(jù)寫入后,需要使用語句"dos.close();"來釋放此連接所占用的系統(tǒng)資源稿湿。
14.第十四題
- 為了將HelloApplet(主類名為HelloApplet.class)嵌入在greeting.html文件中铅匹,應(yīng)該在下列g(shù)reeting.html文件的橫線處填入的代碼是______。
<HTML>
<HEAD>
<TITLE> Greetings </TITLE>
</HEAD>
<BODY>
<APPLET ______>
</APPLET>
</BODY>
</HTML>
A饺藤、HelloApplet.class
B包斑、CODE="HelloApplet.class"
C流礁、CODE="HelloApplet.class" WIDTH=150 HEIGHT=25
D、CODE="HelloApplet.class" VSPACE=10 HSPACE=10
- 將小應(yīng)用程序HelloApplet嵌入在greeting.html文件中罗丰,必須使用特殊的HTML標(biāo)記<APPLET>標(biāo)記實(shí)現(xiàn)Applet或JApplet的嵌入運(yùn)行神帅。
CODE=appletFile:這個(gè)屬性指定包含Applet或JApplet字節(jié)碼的文件名。
WIDTH=pixels HEIGHT=pixels:這兩個(gè)在<APPLET>標(biāo)記中必須指定的屬性丸卷,定義了Applet顯示區(qū)以像素為單位的高度和寬度枕稀。但由Applet運(yùn)行過程中所產(chǎn)生的任何窗口或?qū)υ捒虿皇艽思s束。
15.第十五題
Java類庫中谜嫉,將信息寫入內(nèi)存的類是______。
A凹联、java.io.FileOutputStream
B沐兰、java.io.ByteArrayOutputStream
C、java.io.BufferedOutputStream
D蔽挠、java.io.DataOutputStreamFileOutputStream:用于對磁盤文件涉及的數(shù)據(jù)流進(jìn)行輸出處理住闯,即向一個(gè)文件對象中寫入數(shù)據(jù)。
ByteArrayOutputStream:字節(jié)數(shù)組輸出流澳淑。這個(gè)類將一個(gè)字節(jié)數(shù)組作為輸出流比原,而任何內(nèi)存塊都可以以字節(jié)數(shù)組的形式使用,故利用該類可以對內(nèi)存進(jìn)行寫入操作杠巡。
BufferedOutputStream:緩沖區(qū)優(yōu)化了字節(jié)數(shù)據(jù)傳送量窘。
DataOutputStream:進(jìn)行字節(jié)輸出的基本數(shù)據(jù)類型判斷。
16.第十六題
向Applet傳遞參數(shù)的正確描述是______氢拥。
A蚌铜、<param name=age,value=20>
B、<applet code=Try.class width=100,height=100,age=33>
C嫩海、<name=age,value=20>
D冬殃、<applet code=Try.class name=age,value=20>Applet獲取參數(shù)是通過在HTML文件中采用<PARAM>標(biāo)記定義參數(shù)。
17.第十七題
- Java中的線程模型由三部分組成叁怪,與線程模型組成無關(guān)的是______审葬。
A、虛擬的CPU
B奕谭、程序代碼
C涣觉、操作系統(tǒng)的內(nèi)核狀態(tài)
D、數(shù)據(jù)
- Java中的線程模型包含3部分:
1展箱、一個(gè)虛擬的CPU旨枯。
2、該CPU執(zhí)行的代碼混驰。
3攀隔、代碼所操作的數(shù)據(jù)皂贩。
題目總覽 | ||
---|---|---|
總題目數(shù)量 | 錯(cuò)誤數(shù)量 | 錯(cuò)誤率 |
30 | 17 | 56.66% |
錯(cuò)題分析 | |
---|---|
錯(cuò)誤題目涵蓋知識點(diǎn) | 數(shù)量 |
圖形界面 | 7 |
IO | 3 |
多線程 | 6 |
其他 | 1 |
今日小結(jié)/刷題總結(jié)
圖形界面直接7連,多線程緊跟其后昆汹,拿下6連明刷,隨后IO流有些許不足,僅拿下三連
正如前幾天一直說的那樣满粗,因?yàn)椴粫念}目沒有大量刷到辈末,所以錯(cuò)誤數(shù)量仍然是比較好看的數(shù)據(jù)
今天就出現(xiàn)問題了,有一些題純粹就是對這個(gè)知識點(diǎn)根本不了解因此完全不可能會
所以說映皆,還是前幾天一直說的那樣挤聘,要看,要看捅彻,要看组去。