Java刷題日記,20201208
雖然我什么都不會,但不妨礙我在比賽中抱著大佬的大腿躺~
開篇語
因為試題量[1]過大,因此只記錄自己做錯的試題,所以有一些會試題量特別大有些試題量特別小,但每一道都盡量帶有決議,
在每一次的刷題日記結束后,還會做一次今日的刷題總結,反饋一次今天的題目整體難度感知以及感覺自己對知識點的掌握程度,
在多天刷題日記后,會有一天不做新題,回顧舊題,但每天都會有一次更新,
PS.但可能會有一天各種原因沒有做或者就是我偷懶了,會在第二天的刷題總結中進行反思,
題目
1.第一題
- 閱讀下列利用遞回來求n!的程式
為保證程式正確運行,在下劃線處應該填入的引數是______,class FactorialTest{ static long Factorial(int n){//定義Factorial( )方法 if (n==1) return 1; else return n* Factorial(______); } public static void main(String a[]){//main( )方法 int n=8; System.out.println(n+ "!="+Factorial(n)); } }
A、n-1
B、n-2
C、n
D、n+1 - 所謂遞回就是用自身的結構來描述自身,一個使用遞回技術的方法將直接或間接地呼叫自身的方法,
根據階乘的概念,可以寫出其遞回定義:
Factorial(n=1) n=1
n*Factorial(n-1) n>1
遞回結構主要包括兩部分:定義遞回頭和定義當前問題的同一性質的簡化,例如n!這個問題被劃分為求(n-1)!與n相乘兩個步驟;同理,求(n-1)!的問題被簡化為求(n-2)!與(n-1)相乘兩個步驟的問題,依此類推,直到求Fac(1),再逐級回傳,依次求得Fac(1)、Fac(2)…Fac(n),
2.第二題
- 下列能表示字串sl長度的是______,
A、sl.length()
B、sl.length
C、sl.size
D、sl.size() - String類包括的方法有:length()、charAt()、indexOf()、lastIndexOf()、getChars()、getBytes()、toCharArray()等,其中,提取字串長度的方法是"length()",呼叫方法如下:
String greeting="Hello";
int n=greeting.length(); //回傳字串的字符個數n=5
3.第三題
- 下列方法中與Applet顯示無關的是______,
A、update()
B、draw()
C、repaint()
D、paint() - Applet顯示相關的3個方法:
1、paint()方法:Applet的paint()方法具體執行Applet的繪制,該方法定義如下:
public void paint(Graphics g)
paint()方法有一個引數g是Graphics類的實體,該實體物件由瀏覽器生成,它包含了Applet的圖形背景關系資訊,通過它向Applet中顯示資訊,該物件相當于Applet的畫筆,在呼叫paint()方法時,由瀏覽器將該物件傳遞給paint()方法,
2、update()方法:
public void update(Graphics g)
用于更新Applet的顯示,該方法將首先清除背景,再呼叫paint()方法完成Applet的具體繪制,
3、repaint()方法:
public void repaint()
repaint()方法主要用于Applet的重新顯示,它呼叫update()方法實作對Applet的更新,
4.第四題
- 閱讀下列一個支持多執行緒并發操作的堆疊類代碼段
public class MyStack{
private int idx=0;
private int[] data=https://www.cnblogs.com/Ragel/p/new int[8];
public ______ void push(int i){
data[idx]=i;
idx++;
}
……
}
在下劃線處應填入的是______,
A、synchronized
B、wait
C、blocked
D、interrupt
- Java中對共享資料操作的并發控制是采用傳統的封鎖技術,一個程式中單獨的、并發的執行緒對同一個物件進行訪問的代碼段,稱為臨界區(Critical Sections),在Java語言中,臨界區可以是一個陳述句塊或是一個方法,并且用"synchronized"關鍵字標識,Java平臺將每個由synchronized(Object)陳述句指定的物件設定一個鎖,成為物件鎖(monitor),其是一種獨占的排他鎖(exclusive locks),這種鎖的含義是,當一個執行緒獲得了物件鎖后,便擁有該物件的操作權,其他任何執行緒不能對該物件進行任何操作,
5.第五題
- 下列方法能夠用來實作執行緒之間通信的是______,
A、notify()
B、run()
C、sleep()
D、join() - Java引入的wait()和notify(),是Java.lang.object類的方法,是實作執行緒通信的兩個方法,
6.第六題
-
Java虛擬機(JVM)運行Java代碼時,不會進行的操作是______,
A、加載代碼
B、校驗代碼
C、編譯代碼
D、執行代碼 -
Java語言的執行模式是半編譯和半解釋型,Java撰寫好的程式首先由編譯器轉換為標準位元組代碼,然后由Java虛擬機去解釋執行,
Java虛擬機(JVM)是可運行Java代碼的假想計算機,只要根據JVM規格描述將解釋器移植到特定的計算機上,就能保證經過編譯的任何Java代碼能夠在該系統上運行,
位元組代碼也是一種二進制檔案,但不能直接在作業系統上運行,它可看作虛擬機的機器碼,運行JVM位元組碼的作業是由解釋器來完成的,解釋執行程序分三步進行:代碼的裝入、代碼的校驗和代碼的執行,
7.第七題
- 當瀏覽器重新回傳到包含Applet的頁面時呼叫的方法是______,
A、start()
B、init()
C、stop()
D、destroy() - 當瀏覽器重新回傳Applet所在頁面時,Applet類的start()方法將被呼叫
| 題目總覽 | ||
|---|---|---|
| 總題目數量 | 錯誤數量 | 錯誤率 |
| 30 | 07 | 23.33% |
| 錯題分析 | |
|---|---|
| 錯誤題目涵蓋知識點 | 數量 |
| Applet | 2 |
| JVM | 1 |
| 多執行緒 | 2 |
| String | 1 |
| 演算法 | 1 |
今日小結/刷題總結
今天總共錯了七道題,目前來看是比昨天要好了的,但實際刷題程序中感受到了是自己會的題目占比數量較多,因此錯誤題目數量有所減少
同時,一直常錯的知識點也仍然是有的,例如上表(錯題分析)中展示出來的內容,多執行緒,Applet,一直都是在錯的,
所以說,不能光刷,看完一遍就不看了,還是很需要重溫的,
試題量--主要為Java語言特點和實作機制 ??
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/231729.html
標籤:Java
