天天看點

牛客java選擇題每日打卡Day18

牛客java選擇題每日打卡Day18

👩‍💻部落格首頁:京與舊鋪的部落格首頁

✨歡迎關注🖱點贊🎀收藏⭐留言✒

🔮本文由京與舊鋪原創

😘系列專欄:java學習

👕參考網站:牛客網

💻首發時間:🎞2022年7月2日🎠

🎨你做三四月的事,八九月就會有答案,一起加油吧

🀄如果覺得部落客的文章還不錯的話,請三連支援一下部落客哦

🎧最後的話,作者是一個新人,在很多方面還做的不好,歡迎大佬指正,一起學習哦,沖沖沖

💬推薦一款模拟面試、刷題神器👉​​點選進入網站​​

🛒導航小助手🎪

文章目錄

  • ​​牛客java選擇題每日打卡Day18​​
  • ​​🛒導航小助手🎪​​
  • ​​@[toc]​​
  • ​​🤳選擇題1​​
  • ​​正确答案: A 你的答案: B (錯誤)​​
  • ​​🤳選擇題2​​
  • ​​正确答案: A 你的答案: D (錯誤)​​
  • ​​🤳選擇題3​​
  • ​​正确答案: B 你的答案: A (錯誤)​​
  • ​​🤳選擇題4​​
  • ​​正确答案: B 你的答案: C (錯誤)​​
  • ​​🤳選擇題5​​
  • ​​正确答案: D 你的答案: A (錯誤)​​
  • ​​🤳選擇題6​​
  • ​​正确答案: D 你的答案: C (錯誤)​​
  • ​​🤳選擇題7​​
  • ​​正确答案: D 你的答案: B (錯誤)​​

🤳選擇題1

靜态内部類不可以直接通路外圍類的非靜态資料,而非靜态内部類可以直接通路外圍類的資料,包括私有資料。( )

正确答案: A 你的答案: B (錯誤)

正确
錯誤      

選A

總的來說一下内部類吧:

1. 靜态内部類:

1. 靜态内部類本身可以通路外部的靜态資源,包括靜态私有資源。但是不能通路非靜态資源,可以不依賴外部類執行個體而執行個體化。

2. 成員内部類:

1. 成員内部類本身可以通路外部的所有資源,但是自身不能定義靜态資源,因為其執行個體化本身就還依賴着外部類。

3. 局部内部類:

1. 局部内部類就像一個局部方法,不能被通路修飾符修飾,也不能被static修飾。

2. 局部内部類隻能通路所在代碼塊或者方法中被定義為final的局部變量。

4. 匿名内部類:

1. 沒有類名的内部類,不能使用class,extends和implements,沒有構造方法。

2. 多用于GUI中的事件處理。

3. 不能定義靜态資源

4. 隻能建立一個匿名内部類執行個體。

5. 一個匿名内部類一定是在new後面的,這個匿名類必須繼承一個父類或者實作一個接口。

6. 匿名内部類是局部内部類的特殊形式,是以局部内部類的所有限制對匿名内部類也有效。

🤳選擇題2

java中将ISO8859-1字元串轉成GB2312編碼,語句為 ?

正确答案: A 你的答案: D (錯誤)

new String("字元串".getBytes("ISO8859-1"),"GB2312")
new String(String.getBytes("GB2312"), ISO8859-1)
new String(String.getBytes("ISO8859-1"))
new String(String.getBytes("GB2312"))      

答案:A

注意這裡"ISO8859-1"是一個普通字元串,不要被迷惑了

String.getBytes(“ISO8859-1”)表示擷取這個字元串的byte數組,

然後new String(String.getBytes(“ISO8859-1”),GB2312)是上面的字元數組按照GB2312編碼成新的字元串

🤳選擇題3

類方法中可以直接調用對象變量?

正确答案: B 你的答案: A (錯誤)

正确
錯誤      

當試圖在類方法(也就是靜态方法)中調用類的非靜态變量時,eclipse 給出了這麼一句話 **Cannot make a static reference to the non-static field xxx(xxx代表你所寫的非靜态域的名字)。**這句話意思很簡單,就是不能靜态方法中引用非靜态的域。

原因也很簡單關于類初始化的過程中,靜态域是随着類加載就完成了初始化,而非靜态域此時都沒有完成初始化,你引用它肯定就出錯了。

🤳選擇題4

以下哪個類包含方法flush()?()

正确答案: B 你的答案: C (錯誤)

InputStream
OutputStream
A 和B 選項都包含
A  和B 選項都不包含      

flush()函數強制将緩沖區中的字元流、位元組流等輸出,目的是如果輸出流輸出到緩沖區完成後,緩沖區并沒有填滿,那麼緩沖區将會一直等待被填滿。是以在關閉輸出流之前要調用flush()。

🤳選擇題5

Java1.8之後,Java接口的修飾符可以為()

正确答案: D 你的答案: A (錯誤)

private
protected
final
abstract      

接口是一種特殊的抽象類,先說明抽象類中的抽象方法,再說明接口

抽象類中的抽象方法(其前有 abstract1修飾)不能用 private、 static、 synchronized、na

tive訪回修飾符修飾。原因如下:

\1. private

抽象方法沒有方法體,是用來被繼承的,是以不能用 private修飾;

2.static

static修飾的方法可以通過類名來訪間該方法(即該方法的方法體),抽象方法用sttic修飾沒有意義;

\3. synchronized

該關鍵字是為該方法加一個鎖。而如果該關鍵字修飾的方法是 static方法。則使用的鎖就是class變量的鎖。如果是修飾類方法。則用this變量鎖。

但是抽象類不能執行個體化對象,因為該方法不是在該抽象類中實作的。是在其子類實作的。是以,鎖應該歸其子類所有。是以,抽象方法也就不能用 synchronized關鍵字修飾了;

\3. native

native這個東西本身就和 abstract沖突,他們都是方法的聲明,隻是一個把方法實作移交給子類,另一個是移交給本地作業系統。如果同時出現,就相當于即把實作移交給子類,又把實作移交給本地作業系統,那到底誰來實作具體方法呢

終于說到了接口!

接口是一種特殊的抽象類,接口中的方法全部是抽象方法(但其前的 abstract可以省略),是以抽象類中的抽象方法不能用的訪間修飾符這裡也不能用。同時額外說明一下protect關鍵詞

\4. protect

protected訪同修飾符也不能使用,因為接口可以讓所有的類去實作(非繼承),不隻是其子類,但是要用public去修飾。接口可以去繼承一個已有的接口。

🤳選擇題6

某程式要求每次輸入隻能是正整數,并且每次輸入的數值要求必須是100的倍數且小于等于500,則下列哪個是正确的無效等價類( )

正确答案: D 你的答案: C (錯誤)

(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);
(500,+∞)
(500,+∞)、任意大于0小于500的非100倍數的整數;
(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);      

無效等價類和有效等價類相反,即不滿足程式輸入要求或者無效的輸入資料構成的集合。

我覺得是選D,按無效等價類的定義來說,題目要求輸入什麼,無效等價類就應該是反着的。題目要求正整數,那麼無效等價類就應該包含負數

🤳選擇題7

假設 a 是一個由線程 1 和線程 2 共享的初始值為 0 的全局變量,則線程 1 和線程 2 同時執行下面的代碼,最終 a 的結果不可能是()

boolean isOdd = false;
for(int i=1;i<=2;++i){
    if(i%2==1)isOdd = true;
    else isOdd = false;
    a+=i*(isOdd?1:-1);
}      

正确答案: D 你的答案: B (錯誤)

-1
-2
0
1      

不管怎樣線程對a的操作就是+1後-2

1.線程1執行完再線程2執行,1-2+1-2=-2

2.線程1和2同時+1,再-2不同時,1-2-2=-3

3.線程1和2不同時+1,同時-2,1+1-2=0

4.線程1和2既同時+1又同時-2,1-2=-1

###### 正确答案: D  你的答案: B (錯誤)      
不管怎樣線程對a的操作就是+1後-2

1.線程1執行完再線程2執行,1-2+1-2=-2

2.線程1和2同時+1,再-2不同時,1-2-2=-3

3.線程1和2不同時+1,同時-2,1+1-2=0

4.線程1和2既同時+1又同時-2,1-2=-1

沒有結果為1的情況

結束語🏆🏆🏆
🔥推薦一款模拟面試、刷題神器網站
點選跳轉進入網站點選進入
1、算法篇(398題):面試必刷100題、算法入門、面試高頻榜單
2、SQL篇(82題):快速入門、SQL必知必會、SQL進階挑戰、面試真題
3、大廠筆試真題:位元組跳動、美團、百度、騰訊…