Java基礎(chǔ)面試題

符號(hào) ~

    public static void main(String[] args){
        
        int i = 5;
        int j = 10;
        
        System.out.println(i + ~j); 
    }

輸出是什么?

-6

“~” 是位運(yùn)算符萤衰,“非”的意思堕义。平時(shí)項(xiàng)目中用到位運(yùn)算符的時(shí)候的確很少:Java 運(yùn)算符(位運(yùn)算符)


</br>
</br>

Thread Join

public class MyThread extends Thread {
    String myName;

    MyThread(String name) {
        myName = name;
    }

    public void run() {
        for (int i = 0; i < 100; i++) {
            System.out.println(myName);
        }
    }

    public static void main(String args[]) throws InterruptedException {
        MyThread mtl = new MyThread("mt1");
        MyThread mt2 = new MyThread("mt2");
        mtl.start();
        // XXX
        mt2.start();
    }
}

//XXX處替換成什么代碼,能先打印100次mt1再打印100次mt2
答案mtl.join();


</br>
</br>

關(guān)于構(gòu)造函數(shù)

public class MyTest {
    String s;

    public static void main(String[] args) {
        MyTest obj = new MyTest();
        obj.go();
    }

    void MyTest() {
        s = "this is a test";
    }

    void go() {
        System.out.println(s);
    }
}

輸出是什么脆栋?

null

因?yàn)闃?gòu)造函數(shù)必須是“無(wú)返回值”的倦卖,void也不能加。去掉void就能打印出this is a test
限制符 public protected private可加可不加椿争,看情況怕膛。


</br>
</br>

Swap, 引用傳遞,值傳遞

public class Swap {

    public static void main(String args[]) {
        String name[] = { "Killer", "Miller" };
        String name0 = "Killer";
        String name1 = "Miller";
        swap(name0, name1);
        System.out.println(name0 + ", " + name1);
        swap(name);
        System.out.println(name[0] + ", " + name[1]);
    }

    public static void swap(String name[]) {
        String temp;
        temp = name[0];
        name[0] = name[1];
        name[1] = temp;
    }

    public static void swap(String name0, String name1) {
        String temp;
        temp = name0;
        name0 = name1;
        name1 = temp;
    }

}

輸出秦踪?

Killer, Miller
Miller, Killer

</br>
</br>

List 與 Iterator 獲取元素

    public static void main(String args[]) {
        
        ArrayList<String> list = new ArrayList<String>();
        
        list.add("A");
        list.add("B");
        list.add("C");
        
        Iterator<String> iterator = list.iterator();

        String firtElement;
        
        //XXX
        firtElement = list.get(1);
        firtElement = list[1];
        firtElement = iterator.get(1);
        firtElement = iterator[1];
        firtElement = iterator.next();
        
    }

//XXX后哪幾行是合法的褐捻?

        firtElement = list.get(1);
        firtElement = iterator.next();

</br>
</br>

有順序的Set

    public static void main(String args[]) {
        
        //XXX
        
        set.add("Apple");
        set.add("Cricket");
        set.add("Banana");
        
        Iterator<String> iterator = set.iterator();

        while(iterator.hasNext()){
            System.out.println(iterator.next());
        }
        
    }

//XXX加什么代碼掸茅,順序打印出Apple Cricket Banana
答案 Set<String> set = new LinkedHashSet<String>();


</br>
</br>

Do While

    public static void main(String args[]) {
        int i = 1, j = 10;
        do {
            if (i > j) {
                break;
            }
            j--;
        } while (++i < 5);
        System.out.println("i: " + i + ", j: " + j);
    }

輸出?

i: 5, j: 6

</br>
</br>

類的初始化順序

前面的題都有點(diǎn)無(wú)聊柠逞,這道題容易攪暈

public class Hawk extends Raptor {

    public static void main(String args[]) {

        System.out.println("Start Main Method");
        new Hawk();
        System.out.println("Leave Main Method");
    }

}

class Bird {
    {
        System.out.println("Bird1");
    }

    public Bird() {
        System.out.println("Bird2");
    }
}

class Raptor extends Bird {
    static {
        System.out.println("Raptor1");
    }

    public Raptor() {
        System.out.println("Raptor2");
    }

    {
        System.out.println("Raptor3");
    }
    
    static {
        System.out.println("Raptor4");
    }
}

關(guān)于這題昧狮,總結(jié)了下:

 父類static{} -> static{} -> 父類{} -> 父類Constructor() -> {} -> Constructor()
  • 類的初始化(static{}) 總是先于 對(duì)象的初始化({}Constructor())
  • 對(duì)象的初始化({}Constructor()),{} 總在 Constructor()之前
  • 類的初始化對(duì)象的初始化 總是父類先執(zhí)行
  • 初始化塊(static{}{})總是按類中定義的順序執(zhí)行
  • 類什么時(shí)候被初始化边苹?理解Java中的類初始化

輸出

Raptor1
Raptor4
Start Main Method
Bird1
Bird2
Raptor3
Raptor2
Leave Main Method

</br>
</br>

無(wú)類型的TreeSet

    @SuppressWarnings({ "rawtypes", "unchecked" })
    public static void main(String args[]) {

        Set set = new TreeSet();
        set.add("2");
        set.add(3);
        set.add("1");

        Iterator iterator = set.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }

    }

能編譯嗎陵且?能運(yùn)行嗎?打印什么个束?

Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
    at java.lang.Integer.compareTo(Unknown Source)
    at java.util.TreeMap.put(Unknown Source)
    at java.util.TreeSet.add(Unknown Source)
    at sample.hibernate4.TreeSetTest.main(TreeSetTest.java:16)

原理不太懂慕购,感覺(jué)第一個(gè)add的元素即確定了集合的類型,遍歷時(shí)發(fā)現(xiàn)有不同類型時(shí)會(huì)報(bào)錯(cuò)茬底。求大神給個(gè)解釋的連接

</br>
</br>


Code:

Sample Code on Github

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末沪悲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子阱表,更是在濱河造成了極大的恐慌殿如,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件最爬,死亡現(xiàn)場(chǎng)離奇詭異涉馁,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)爱致,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)烤送,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人糠悯,你說(shuō)我怎么就攤上這事帮坚。” “怎么了互艾?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵试和,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我纫普,道長(zhǎng)阅悍,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任局嘁,我火速辦了婚禮溉箕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悦昵。我一直安慰自己肴茄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布但指。 她就那樣靜靜地躺著寡痰,像睡著了一般抗楔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拦坠,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天连躏,我揣著相機(jī)與錄音,去河邊找鬼贞滨。 笑死入热,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的晓铆。 我是一名探鬼主播勺良,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼骄噪!你這毒婦竟也來(lái)了尚困?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤链蕊,失蹤者是張志新(化名)和其女友劉穎事甜,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體滔韵,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逻谦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了陪蜻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跨跨。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖囱皿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情忱嘹,我是刑警寧澤嘱腥,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站拘悦,受9級(jí)特大地震影響齿兔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜础米,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一分苇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧屁桑,春花似錦医寿、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)须眷。三九已至,卻和暖如春沟突,著一層夾襖步出監(jiān)牢的瞬間花颗,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工惠拭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扩劝,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓职辅,卻偏偏與公主長(zhǎng)得像棒呛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子罐农,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法条霜,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法涵亏,繼承相關(guān)的語(yǔ)法宰睡,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,598評(píng)論 18 399
  • 第一階段題庫(kù) 基礎(chǔ)知識(shí)部分: 1. JDK是什么气筋?JRE是什么拆内? a) 答:JDK:java開(kāi)發(fā)工具包。JRE:j...
    獨(dú)念白閱讀 930評(píng)論 0 3
  • 如何用數(shù)組實(shí)現(xiàn)隊(duì)列宠默? 用數(shù)組實(shí)現(xiàn)隊(duì)列時(shí)要注意 溢出 現(xiàn)象麸恍,這時(shí)我們可以采用循環(huán)數(shù)組的方式來(lái)解決,即將數(shù)組收尾相接搀矫。...
    azmohan閱讀 529評(píng)論 0 0
  • JAVA 說(shuō)出ArrayList, Vector, LinkedList的存儲(chǔ)性能和特性(集合類:ArrayLis...
    Albert陳凱閱讀 180評(píng)論 0 0
  • 第一階段題庫(kù) 基礎(chǔ)知識(shí)部分: 1. JDK是什么抹沪?JRE是什么? a) 答:JDK:java開(kāi)發(fā)工具包瓤球。JRE:j...
    紫豆包閱讀 1,840評(píng)論 1 27