NowCoder-Java-Note(二)

一、 Java Application 中的主類需包含main方法,以下哪項(xiàng)是main方法的正確形參臀蛛?( )

A.String args
B.String[] args
C.Char arg
D.StringBuffer[] args

答案:B

解析:
  • main函數(shù)的形式為 public static void main(String[] args)
  • String[] args 還有一種等價(jià)的寫法: String... args
    1.前者為數(shù)組形式, 后者為可變參數(shù)形式刊殉。
    2.前者用得較多, 但是看到后者也應(yīng)認(rèn)識(shí)。

二炮车、 java socket如何獲取本地ip地址舵变?

A.getInetAddress()
B.getLocalAddress()
C.getReuseAddress()
D.getLocalPort()

答案:B

解析:
Socket類

三、下面代碼運(yùn)行結(jié)果是()

public class Test{ 
    public int add(int a,int b){   
         try {
             return a+b;      
         } 
        catch (Exception e) {  
            System.out.println("catch語(yǔ)句塊");
         }
         finally{ 
             System.out.println("finally語(yǔ)句塊");
         }
         return 0;
    } 
     public static void main(String argv[]){ 
         Test test =new Test(); 
         System.out.println("和是:"+test.add(9, 34)); 
     }
}

A.catch語(yǔ)句塊;和是:43
B.編譯異常
C.finally語(yǔ)句塊;和是:43
D.和是:43;finally語(yǔ)句塊

答案:C

解析:
先來看一段代碼:
public abstract class Test {
    public static void main(String[] args) {
        System.out.println(beforeFinally());
    }
     
    public static int beforeFinally(){
        int a = 0;
        try{
            a = 1;
            return a;
        }finally{
            a = 2;
        }
    }
}
  • 從結(jié)果上看瘦穆,貌似finally 里的語(yǔ)句是在return 之后執(zhí)行的纪隙,其實(shí)不然,實(shí)際上finally 里的語(yǔ)句是在在return 之前執(zhí)行的扛或。那么問題來了瘫拣,既然是在之前執(zhí)行,那為什么a 的值沒有被覆蓋了告喊?
  • 實(shí)際過程是這樣的:當(dāng)程序執(zhí)行到try{}語(yǔ)句中的return方法時(shí)麸拄,它會(huì)干這么一件事,將要返回的結(jié)果存儲(chǔ)到一個(gè)臨時(shí)棧中黔姜,然后程序不會(huì)立即返回拢切,而是去執(zhí)行finally{}中的程序, 在執(zhí)行a = 2時(shí)秆吵,程序僅僅是覆蓋了a的值淮椰,但不會(huì)去更新臨時(shí)棧中的那個(gè)要返回的值 。執(zhí)行完之后,就會(huì)通知主程序“finally的程序執(zhí)行完畢主穗,可以請(qǐng)求返回了”泻拦,這時(shí),就會(huì)將臨時(shí)棧中的值取出來返回忽媒。這下應(yīng)該清楚了争拐,要返回的值是保存至臨時(shí)棧中的。
再來看一個(gè)例子,稍微改下上面的程序:
public abstract class Test {
    public static void main(String[] args) {
        System.out.println(beforeFinally());
    }
     
    public static int beforeFinally(){
        int a = 0;
        try{
            a = 1;
            return a;
        }finally{
            a = 2;
            return a;
        }
    }
}
  • 在這里晦雨,finally{}里也有一個(gè)return架曹,那么在執(zhí)行這個(gè)return時(shí),就會(huì)更新臨時(shí)棧中的值闹瞧。同樣绑雄,在執(zhí)行完finally之后,就會(huì)通知主程序請(qǐng)求返回了奥邮,即將臨時(shí)棧中的值取出來返回万牺。故返回值是2.
結(jié)論:
  1. finally{}代碼塊比return先執(zhí)行。

  2. 多個(gè)return是按順序執(zhí)行的的洽腺,多個(gè)return執(zhí)行了一個(gè)后脚粟,后面的return就不會(huì)執(zhí)行了。

  3. 記住一點(diǎn)已脓,不管有不有異常拋出珊楼,finally都會(huì)在return返回前執(zhí)行。

四度液、在基本JAVA類型中厕宗,如果不明確指定,整數(shù)型的默認(rèn)是什么類型堕担?帶小數(shù)的默認(rèn)是什么類型已慢?

int double

解析:
  • 整數(shù)類型 默認(rèn)為 int
    帶小數(shù)的默認(rèn)為double
  • 如果要指定長(zhǎng)整型加L;如果要指定為單精度加F

五霹购、關(guān)于PreparedStatement與Statement描述錯(cuò)誤的是()

A.一般而言佑惠,PreparedStatement比Statement執(zhí)行效率更高
B.PreparedStatement會(huì)預(yù)編譯SQL語(yǔ)句
C.Statement每次都會(huì)解析/編譯SQL,確立并優(yōu)化數(shù)據(jù)獲取路徑
D.Statement執(zhí)行掃描的結(jié)果集比PreparedStatement大

答案:D

解析(一):
創(chuàng)建時(shí)的區(qū)別:
Statement statement = conn.createStatement();
PreparedStatement preStatement = conn.prepareStatement(sql);
執(zhí)行的時(shí)候:
ResultSet rSet = statement.executeQuery(sql);
ResultSet pSet = preStatement.executeQuery(); 
  • 由上可以看出齐疙,PreparedStatement有預(yù)編譯的過程膜楷,已經(jīng)綁定sql,之后無(wú)論執(zhí)行多少遍贞奋,都不會(huì)再去進(jìn)行編譯赌厅,

  • 而 statement 不同,如果執(zhí)行多遍轿塔,則相應(yīng)的就要編譯多少遍sql特愿,所以從這點(diǎn)看仲墨,PreparedStatement 的效率會(huì)比 Statement要高一些

解析(二):
Statement 和 PreparedStatement 有什么區(qū)別?哪個(gè)性能更好揍障?

與 Statement 相比目养,
①PreparedStatement 接口代表預(yù)編譯的語(yǔ)句,它主要的優(yōu)勢(shì)在于
以減少 SQL 的編譯錯(cuò)誤并增加 SQL 的安全性(減少 SQL 注射攻擊的可能性)
毒嫡;
②PreparedStatement 中的 SQL 語(yǔ)句是可以帶參數(shù)的癌蚁,避免了用字符串連接拼接 SQL 語(yǔ)句的麻煩和不安全;
當(dāng)批量處理 SQL 或頻繁執(zhí)行相同的查詢時(shí)审胚,PreparedStatement 有明顯的性能上的優(yōu)勢(shì)匈勋,由于數(shù)據(jù)庫(kù)可以將編譯優(yōu)化后的 SQL 語(yǔ)句緩存起來礼旅,下次執(zhí)行相同結(jié)構(gòu)的語(yǔ)句時(shí)就會(huì)很快(不用再次編譯和生成執(zhí)行計(jì)劃)膳叨。

補(bǔ)充:
①為了提供對(duì)存儲(chǔ)過程的調(diào)用,JDBC API 中還提供了 CallableStatement 接口痘系。
②存儲(chǔ)過程(Stored Procedure)是數(shù)據(jù)庫(kù)中一組為了完成特定功能的 SQL 語(yǔ)句的集合菲嘴,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)中,用戶通過指定存儲(chǔ)過程的名字并給出參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來執(zhí)行它汰翠。
③雖然調(diào)用存儲(chǔ)過程會(huì)在網(wǎng)絡(luò)開銷龄坪、安全性、性能上獲得很多好處复唤,但是存在如果底層數(shù)據(jù)庫(kù)發(fā)生遷移時(shí)就會(huì)有很多麻煩健田,因?yàn)槊糠N數(shù)據(jù)庫(kù)的存儲(chǔ)過程在書寫上存在不少的差別

圖片.png

六、 Java 多線程有幾種實(shí)現(xiàn)方法佛纫?( )

繼承Thread類妓局; 實(shí)現(xiàn)Runnable接口; 實(shí)現(xiàn)Callable接口

七呈宇、int好爬,String,*point甥啄,union哪些不是 Java 的數(shù)據(jù)類型存炮?(不定項(xiàng))

A.int
B.String
C.*point
D.union

答案:C D

解析:
Java 的數(shù)據(jù)類型
  • 題目是說數(shù)據(jù)類型,并沒有說基本數(shù)據(jù)類型蜈漓,所有包括了引用數(shù)據(jù)類型穆桂,String為字符串類,屬于引用數(shù)據(jù)類型

八融虽、java中關(guān)于繼承的描述正確的是()享完?(不定項(xiàng))

A.一個(gè)子類只能繼承一個(gè)父類
B.子類可以繼承父類的構(gòu)造方法
C.繼承具有傳遞性
D.父類一般具有通用性,子類更具體

答案: A C D

解析:
  • 在java中衣形,子類構(gòu)造器會(huì)默認(rèn)調(diào)用super()(無(wú)論構(gòu)造器中是否寫有super()),用于初始化父類成員驼侠,同時(shí)當(dāng)父類中存在有參構(gòu)造器時(shí)姿鸿,必須提供無(wú)參構(gòu)造器,子類構(gòu)造器中并不會(huì)自動(dòng)繼承有參構(gòu)造器倒源,仍然默認(rèn)調(diào)用super()苛预,使用無(wú)參構(gòu)造器。因此笋熬,一個(gè)類想要被繼承必須提供無(wú)參構(gòu)造器热某。

  • PS:方法沒有繼承一說,只有重載和重寫

九胳螟、下面哪些寫法能在 java8 中編譯執(zhí)行()(不定項(xiàng))

A.dir.listFiles((File f)->f.getName().endsWith(“.Java”));
B.dir.listFiles((File f)=>f.getName().endsWith(“.Java”));
C.dir.listFiles((_.getName().endsWith(“.Java”)));
D.dir.listFiles( f->f.getName().endsWith(“.Java”));

答案:A D

解析:
Lanbda表達(dá)式的主要作用就是代替匿名內(nèi)部類的繁瑣語(yǔ)法昔馋, 它由三部分組成:
  1. 形參列表。
  2. 箭頭(→)糖耸。必須通過英文中畫線和大于符號(hào)組成秘遏。
  3. 代碼塊。
Lanbda表達(dá)式簡(jiǎn)單實(shí)例:
Lanbda表達(dá)式

十嘉竟、下面哪些類可以被繼承邦危? Java.lang.Thread、java.lang.Number舍扰、java.lang.Double倦蚪、java.lang.Math、 java.lang.ClassLoader(不定項(xiàng))

A.Thread
B.Number
C.Double
D.Math
E.ClassLoader

答案: A B E

解析:
  • A.Thread可以被繼承边苹,用于創(chuàng)建新的線程
  • B.Number類可以被繼承陵且,Integer,F(xiàn)loat个束,Double等都繼承自Number類
  • C.Double類的聲明為
    Double類
  • D.Math類的聲明為
    Math類

    final聲明的類不能被繼承

  • E.ClassLoader可以被繼承慕购,用戶可以自定義類加載器
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市播急,隨后出現(xiàn)的幾起案子脓钾,更是在濱河造成了極大的恐慌,老刑警劉巖桩警,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件可训,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡捶枢,警方通過查閱死者的電腦和手機(jī)握截,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烂叔,“玉大人谨胞,你說我怎么就攤上這事∷饧Γ” “怎么了胯努?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵牢裳,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我叶沛,道長(zhǎng)蒲讯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任灰署,我火速辦了婚禮判帮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘溉箕。我一直安慰自己晦墙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布肴茄。 她就那樣靜靜地躺著晌畅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪独郎。 梳的紋絲不亂的頭發(fā)上踩麦,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天枚赡,我揣著相機(jī)與錄音氓癌,去河邊找鬼。 笑死贫橙,一個(gè)胖子當(dāng)著我的面吹牛贪婉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播卢肃,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼疲迂,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了莫湘?” 一聲冷哼從身側(cè)響起尤蒿,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎幅垮,沒想到半個(gè)月后腰池,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡忙芒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年示弓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呵萨。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡奏属,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出潮峦,到底是詐尸還是另有隱情囱皿,我是刑警寧澤勇婴,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站嘱腥,受9級(jí)特大地震影響咆耿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜爹橱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一萨螺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧愧驱,春花似錦慰技、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至糟红,卻和暖如春艾帐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背盆偿。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工柒爸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人事扭。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓捎稚,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親求橄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子今野,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

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

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法罐农,內(nèi)部類的語(yǔ)法条霜,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法涵亏,線程的語(yǔ)...
    子非魚_t_閱讀 31,599評(píng)論 18 399
  • 轉(zhuǎn)自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帥199207閱讀 8,504評(píng)論 3 93
  • (一)Java部分 1宰睡、列舉出JAVA中6個(gè)比較常用的包【天威誠(chéng)信面試題】 【參考答案】 java.lang;ja...
    獨(dú)云閱讀 7,087評(píng)論 0 62
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,805評(píng)論 0 11
  • 我們?cè)娇謶忠患虑椋羌虑楸澈箅[藏著的信息可能就越重要溯乒。 我們最恐懼的夹厌,恰恰可能隱藏著我們生命中最關(guān)鍵的答案。 ...
    角落蜷縮閱讀 138評(píng)論 0 0