牛客java選擇題每日打卡Day26
👩💻部落格首頁:京與舊鋪的部落格首頁
✨歡迎關注🖱點贊🎀收藏⭐留言✒
🔮本文由京與舊鋪原創
😘系列專欄:java學習
👕參考網站:牛客網
💻首發時間:🎞2022年7月21日🎠
🎨你做三四月的事,八九月就會有答案,一起加油吧
🀄如果覺得部落客的文章還不錯的話,請三連支援一下部落客哦
🎧最後的話,作者是一個新人,在很多方面還做的不好,歡迎大佬指正,一起學習哦,沖沖沖
💬推薦一款模拟面試、刷題神器👉點選進入網站
🛒導航小助手🎪
文章目錄
- 牛客java選擇題每日打卡Day26
- 🛒導航小助手🎪
- @[toc]
- 🐱🚀選擇題1
- 正确答案: B 你的答案: C (錯誤)
- 🐱🚀選擇題2
- 正确答案: C 你的答案: A (錯誤)
- 🐱🚀選擇題3
- 正确答案: A 你的答案: D (錯誤)
- 🐱🚀選擇題4
- 正确答案: A B C D 你的答案: A B (錯誤)
- 🐱🚀選擇題5
- 正确答案: A B D 你的答案: B C (錯誤)
- 🐱🚀選擇題6
- 正确答案: B C D 你的答案: B D (錯誤)
- 🐱🚀選擇題7
- 正确答案: A C 你的答案: C D (錯誤)

🐱🚀選擇題1
java中用()字指明繼承關系,用()關鍵字指明對接口的實作。
正确答案: B 你的答案: C (錯誤)
implements extends
extends implements
extend implement
implement extend
-
答案:B
extends表繼承父類
implements表是實作接口
🐱🚀選擇題2
若有定義語句: int a=10 ; double b=3.14 ; 則表達式 ‘A’+a+b 值的類型是()
正确答案: C 你的答案: A (錯誤)
char
int
double
float
C
\1. 在表達式中,char 和 short 類型的值,無論有符号還是無符号,都會自動轉換成 int 或者 unsigned int(如果 short 的大小和 int 一樣,unsigned short 的表示範圍就大于 int,在這種情況下,unsigned short 被轉換成 unsigned int)。因為它們被轉換成表示範圍更大的類型,故而把這種轉換稱為“更新(promotion)”。
\2. 按照從高到低的順序給各種資料類型分等級,依次為:long double, double, float, unsigned long long, long long, unsigned long, long, unsigned int 和 int。這裡有一個小小的例外,如果 long 和 int 大小相同,則 unsigned int 的等級應位于 long 之上。char 和 short 并沒有出現于這個等級清單,是因為它們應該已經被更新成了 int 或者 unsigned int。
\3. 在任何涉及兩種資料類型的操作中,它們之間等級較低的類型會被轉換成等級較高的類型。
🐱🚀選擇題3
閱讀如下代碼。 請問,對語句行 test.hello(). 描述正确的有()
package NowCoder;
class Test {
public static void hello() {
System.out.println("hello");
}
}
public class MyApplication {
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test=null;
test.hello();
}
}
正确答案: A 你的答案: D (錯誤)
能編譯通過,并正确運作
因為使用了未初始化的變量,是以不能編譯通過
以錯誤的方式通路了靜态方法
能編譯通過,但因變量為null,不能正常運作
答案是A吧
這題我認為答案錯了
因為Test類的hello方法是靜态的,是以是屬于類的,當執行個體化該類的時候,靜态會被優先加載而且隻加載一次,是以不受執行個體化new Test();影響,隻要是使用到了Test類,都會加載靜态hello方法!
另外,在其他類的靜态方法中也是可以調用公開的靜态方法,此題hello方法是使用public修飾的是以在MyApplication中調用hello也是可以的。
總結:即使Test test=null;這裡也會加載靜态方法,是以test資料中包含Test類的初始化資料。(靜态的,構造的,成員屬性)
是以test.hello是會調用到hello方法的。
🐱🚀選擇題4
下面有關servlet的層級結構和常用的類,說法正确的有?
正确答案: A B C D 你的答案: A B (錯誤)
GenericServlet類:抽象類,定義一個通用的、獨立于底層協定的Servlet。
大多數Servlet通過從GenericServlet或HttpServlet類進行擴充來實作
ServletConfig接口定義了在Servlet初始化的過程中由Servlet容器傳遞給Servlet得配置資訊對象
HttpServletRequest接口擴充ServletRequest接口,為HTTP Servlet提供HTTP請求資訊
-
HttpServlet是GenericServlet的子類。
GenericServlet是個抽象類,必須給出子類才能執行個體化。它給 出了設計servlet的一些骨架,定義了servlet生命周期,還有一些得到名字、配置、初始化參數的方法,其設計的是和應用層協定無關的,也就是說 你有可能用非http協定實作它。
HttpServlet是子類,當然就具有GenericServlet的一切特性,還添加了doGet, doPost, doDelete, doPut, doTrace等方法對應處理http協定裡的指令的請求響應過程。
一般沒有特殊需要,自己寫的Servlet都擴充HttpServlet 。
🐱🚀選擇題5
下列哪些方法是針對循環優化進行的
正确答案: A B D 你的答案: B C (錯誤)
強度削弱
删除歸納變量
删除多餘運算
代碼外提
代碼優化也可分為局部優化、 循環優化和全局優化:
局部優化指的是在隻有一個入口、 一個出口的基本程式塊上進行的優化。
循環優化是對循環中的代碼進行的優化,在一個程式運作時,相當多的一部分時間會花在循環上,是以,基于循環的優化非常重要。
全局優化是在整個程式範圍内進行的優化。**
删除多餘運算**
使生成的目标代碼減少而執行速度較快
也叫删除公共子表達式
循環優化:對循環中的代碼段,可以進行代碼外提、強度削弱和删除歸納變量等優化。
删除多餘運算應該不是專門針對循環優化的。
🐱🚀選擇題6
在使用super和this關鍵字時,以下描述錯誤的是()
正确答案: B C D 你的答案: B D (錯誤)
在子類構造方法中使用super()顯示調用父類的構造方法,super()必須寫在子類構造方法的第一行,否則編譯不通過
super()和this()不一定要放在構造方法内第一行
this()和super()可以同時出現在一個構造函數中
this()和super()可以在static環境中使用,包括static方法和static語句塊
A選項正确,B選項,super()必須在第一行的原因是: 子類是有可能通路父類對象的, 比如在構造函數中使用父類對象的成員函數和變量, 在成員初始化使用了父類, 在代碼塊中使用了父類等等, 是以為保證在子類可以通路父類對象之前,一定要完成對父類對象的初始化。 關于this()必須在第一行的原因,我們假設這樣一種情況,,類B是類A的子類, 如果this()可以在構造函數的任意行使用, 那麼當程式運作到構造函數B()的第一行,發現沒有調用this()和super(),那麼就會自動在第一行補齊super() 來完成對父類對象的初始化, 然後傳回子類的構造函數繼續執行, 當運作到構造函數B()的"this() ;"時, 調用B類對象的構造函數, 還會對父類對象再次初始化!,這就造成了資源的浪費,以及某些意想不到的錯誤。也正因如此C選項錯誤。
D選項,無論是this()還是super()指的都是對象,而static環境中是無法使用非靜态變量的。是以D選項錯誤。
🐱🚀選擇題7
正确答案: A C 你的答案: C D (錯誤)
LinkedBlockingQueue是一個可選有界隊列,不允許null值
PriorityQueue,LinkedBlockingQueue都是線程不安全的
PriorityQueue是一個無界隊列,不允許null值,入隊和出隊的時間複雜度是O(log(n))
PriorityQueue,ConcurrentLinkedQueue都遵循FIFO原則
-
A、LinkedBlockingQueue是一個基于節點連結的可選是否有界的阻塞隊列,不允許null值。
B、LinkedBlockingQueue是一個線程安全的阻塞隊列,實作了先進先出等特性。
C、PriorityQueue是一個***隊列,不允許null值,入隊和出隊的時間複雜度是O(log(n))。
循FIFO原則
``