天天看點

牛客java選擇題每日打卡Day7

牛客java選擇題每日打卡Day7

牛客java選擇題每日打卡Day7

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

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

🔮本文由京與舊鋪原創

😘系列專欄:java學習

👕參考網站:牛客網

💻首發時間:🎞2022年5月23日🎠

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

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

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

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

牛客java選擇題每日打卡Day7

🛒導航小助手🎪

文章目錄

  • ​​牛客java選擇題每日打卡Day7​​
  • ​​🛒導航小助手🎪​​
  • ​​@[toc]​​
  • ​​🥫選擇題1​​
  • ​​🥠選擇題2​​
  • ​​🥩選擇題3​​
  • ​​🥼選擇題4​​
  • ​​🥙選擇題5​​
  • ​​🍚選擇題6​​
  • ​​🥡選擇題7​​

🥫選擇題1

下列說法正确的有( )

構造方法的方法名必須與類名相同      
構造方法也沒有傳回值,但可以定義為void      
在子類構造方法中調用父類的構造方法,super() 必須寫在子類構造方法的第一行,否則編譯不通過      
一個類可以定義多個構造方法,如果在定義類時沒有定義構造方法,則編譯系統會自動插入一個預設的構造方法,這個構造方法不執行任何代碼      

關于B選項:Java:文法要求的構造函數隻能那麼寫。如果寫成public void 類名(){} 這種格式的話。此時就相當與你重新定義了一個函數,不能起到構造函數的作用,調用這個類的時候不能自動執行構造函數裡的代碼。

構造函數是無類型的,不能定義void、int等類型。

🥠選擇題2

在Java中,關于HashMap類的描述,以下正确的是 ()

HashMap使用鍵/值得形式儲存資料      
HashMap 能夠保證其中元素的順序      
HashMap允許将null用作鍵      
HashMap允許将null用作值      
Map集合類 key value
HashMap 允許為null 允許為null
TreeMap 不允許為null 允許為null
ConcurrentMap 不允許為null 不允許為null
HashTable 不允許為null 不允許為null

HashMap 不按插入順序排序,按照哈希值排序。是以無序。

但是不增删改鍵的情況下,輸出是按照一定順序不變的

🥩選擇題3

下面代碼輸出是?

enum AccountType
{
    SAVING, FIXED, CURRENT;
    private AccountType()
    {
        System.out.println("It is a account type");
    }
}
class EnumOne
{
    public static void main(String[]args)
    {
        System.out.println(AccountType.FIXED);
    }
}      
編譯正确,輸出”It is a account type”once followed by”FIXED”      
編譯正确,輸出”It is a account type”twice followed by”FIXED”      
編譯正确,輸出”It is a account type”thrice followed by”FIXED”      
編譯正确,輸出”It is a account type”four times followed by”FIXED”      
編譯錯誤      

建立枚舉類型要使用 enum 關鍵字,隐含了所建立的類型都是 java.lang.Enum 類的子類(java.lang.Enum 是一個抽象類)。枚舉類型符合通用模式Class Enum<E extends Enum>,而E表示枚舉類型的名稱。 枚舉類型的每一個值都将映射到 protected Enum(String name, int ordinal) 構造函數中

簡單來說就是枚舉類型中的枚舉值都會對應調用一次構造函數

本題中三個枚舉值, 這裡還要特别強調一下,枚舉中的構造函數是私有類,也就是無法再外面建立enum

枚舉值預設static ,AccountType.FIXED使用的是枚舉值,沒有建立。是以一共就3次。

🥼選擇題4

關于異常的程式設計,以下描述錯誤的是:( )

在有除法存在的代碼處,為了防止分母為零,必須抛出并捕獲異常      
int i=Integer.parseInt(”123a”);将産生NumberFormatException      
int a[]=null; a[0]=1; 将産生NullPointerException      
輸入輸出流程式設計中,讀和寫時都要抛出IOException      

正确答案:A

異常分為運作時異常,非運作時異常和error,其中error是系統異常,隻能重新開機系統解決。非運作時異常需要我們自己擷取,而運作異常是程式運作時由虛拟機幫助我們擷取,運作時異常包括數組的溢出,記憶體的溢出空指針,分母為0等!

🥙選擇題5

關于java編譯和運作指令叙述不正确的是? ( )

運作“java Scut.class”      
運作“java Scut”      
編譯 Scut.java檔案,使用“javac Scut.java”指令的輸出檔案是Scut.class      
java這個指令的運作對象是Scut.class      

A 錯誤 運作指令是 ***j*ava + 你的 Java 程式的名字但是不加字尾 是以這道題錯在多了 .class這個字尾

B 正确

C javac 是編譯指令,後跟 你的 Java 程式名字加字尾,也就是 YourClassName.java 是以答案正确

D JVM (Java 虛拟機)運作的是編譯後的位元組碼檔案(以.class為字尾的檔案),也就是 YourClassName.class 是以答案正确

🍚選擇題6

下面哪個修飾符修飾的變量是所有同一個類生成的對象共享的( )

public      
private      
static      
final      

static修飾某個字段時,肯定會改變字段建立的方式(每個被static修飾的字段對于每一個類來說隻有一份存儲空間,而非static修飾的字段對于每一個對象來說都有一個存儲空間)

static屬性是屬于類的,是以對象共同擁有,是以既可以通過類名.變量名進行操作,又可以通過對象名.變量名進行操作

🥡選擇題7

class A {
     public int func1(int a, int b) {
         return a - b;
     }
 }
 class B extends A {
     public int func1(int a, int b) {
         return a + b;
     }
 }
 public class ChildClass {
     public static void main(String[] args) {
     A a = new B();
     B b = new B();
     System.out.println("Result=" + a.func1(100, 50));
     System.out.println("Result=" + b.func1(100, 50));
     }
 }      
Result=150
Result=150      
Result=100
Result=100      
Result=100
Result=150      
Result=150
Result=100      

其實很簡單,涉及轉型的題目,分為向上或者向下轉型。

關鍵的來了,不論向上或者向下轉型,都是一句話,“編譯看左邊,運作看右邊”。也就是編譯時候,會看左邊引用類型是否能正确編譯通過,運作的時候是調用右邊的對象的方法。