7月17號筆記

7月17日筆記

今天的主要內容:

  • 數(shù)據(jù)類型的包裝類
  • 異常處理機制

1. 數(shù)據(jù)類型包裝類

A. 基本類型
  • byte Byte
  • short Short
  • long Long
  • char Character
  • int Integer
  • double Double
  • boolean Boolean
  • void Void
B. 相關操作(Integer為例)
  • 裝箱

    • Integer numObj = new Integer(500); //裝箱
    • Integer numObj2 = 5; //自動裝箱
  • 拆箱

    • int num = numObj; //拆箱
    • int num = numObj.intValue();
  • 測試toString()和parseInt()

    • Integer類中重寫了toString()方法

         String numStr = numObj.toString();
         System.out.println(numStr);
         //輸出結果為500
      
    • Integer類中的parsrInt()方法
      System.out.println(Integer.parseInt(numStr));
      //輸出結果為:500

  • 測試Integer.valueOf()

    • System.out.ptintln(Integer.valueOf("123456"));
      • 輸出結果為123456
    • 此時涉及到自動裝箱知識的理解
  • 自動裝箱的理解

      Integer n1 = 5;
      Integer n2 = 5;
      
      System.out.println(n1==n2);   //true;
      
      Integer n4 = 500;
      Integer n3 = 500;
      
      System.out.println(n3==n4);   //false       
    
      Integer n5 = 50;
      Integer n6 = new Integer(50);
      
      System.out.println(n5==n6);   //false;  
    
      /*
          自動裝箱的理解:
              Integer n1 = 5;
              Integer n2 = 5;
                  ·此時實際原理為:Integer n1 = Integer.valueOf(5);
                  ·而valueOf方法對于-128 到 127之間的數(shù)值進行裝箱后返回一個Integer對象拙友。
                  ·因此同一數(shù)字5在valueOf方法作用下被返回同一Integer對象丐谋,這就是為什么n1==n2正確  
                  
          而對于
              Integer n3 = 500;
              Integer n4 = 500;       
                  ·此時不在-128 到 127之間,所以Integer n3 = new Integer(500);
                  ·因此n3==n4不正確,n3和n4不是同一對象
          同理我們可以理解
              Integer n5 = 50;
              Integer n6 = new Integer(50);
                  ·此時辐怕,n5通過Integer.valueOf(50)返回一個存在緩存中的Integer對象
                  ·而n6的Integer是new出來的巨税,因此n5和n6并不是同一對象的引用           
      */          
    

2. 異常(Exception)

A. 異常分類

  • 異常對象都派生于Throwable類的一個實例适篙,多有一場都繼承于Throwable

  • Throwable又分為:Error和Exception

    • Error和Exception的區(qū)別:
      • Error類描述了Java運行時系統(tǒng)內部錯誤和資源耗盡錯誤昵观,JVM引起的。
      • Exception分為:RuntimeException和其他異常愉老。
  • RuntimeException

    • RuntimeException異常為非受查的異常场绿,可不處理的異常,一般人為的異常
    • 常見的RuntimeException異常有:
      • ArrayOutOfBoundsException異常
      • NullPointerException異常
      • ArithmeticException異常
  • 除RuntimeException以外的異常

    • 必須要進行異常處理

B. 異常處理機制try-catch-finally

  1. try-catch執(zhí)行順序問題:

    • 在try語句塊中的任何代碼拋出了一個在catch子句中聲明的異常類嫉入,即

      ①程序將跳過try語句塊的其余代碼

      ②程序將執(zhí)行catch子句中的處理器代碼

      ③最后執(zhí)行finally子句中的代碼

    • 在try中沒有異常焰盗,則執(zhí)行完try后,再執(zhí)行finally中的代碼

  2. finally中return語句對try中return的影響

     public class TestFinally{
         public static void main(String[] args){
             int n = 500;
             
             System.out.println("初值為:" + n);
             
             n = test();
             System.out.println("調用test()方法后:n = " + n);
         
             System.out.println("此輸出證明:若finally子句中也有一個return語句咒林,則此時返回值會覆蓋原始的try中的返回值");
         
             System.out.println("===============異常信息的獲取===============");
             try{
                 throw new Exception("拋出異常");
             }
             catch(Exception e){
                 System.out.println("e.getClass().getName() : " + e.getClass().getName());
                 System.out.println("e.getMessage() : " + e.getMessage());
             }
         }
    
         public static int test(){
             
             System.out.println("=======test()方法執(zhí)行中=======");
             try{    
                 System.out.println("我是try中第一條語句熬拒,我沒有異常");        
                 return 0;
             }   
             finally{
                 System.out.println("此輸出證明try語句中的return語句執(zhí)行前會首先執(zhí)行finally,然后再return");    
                         
                 return 3;
             }
         }
     }
     /*
         初值為:500
    
         =======test()方法執(zhí)行中=======
         我是try中第一條語句垫竞,我沒有異常
         此輸出證明try語句中的return語句執(zhí)行前會首先執(zhí)行finally梦湘,然后再return
    
         調用test()方法后:n = 3
         此輸出證明:若finally子句中也有一個return語句,則此時返回值會覆蓋原始的try中的返回值
    
         ===============異常信息的獲取===============
         e.getClass().getName() : java.lang.Exception
         e.getMessage() : 拋出異常
     */
    
  3. throw和throws區(qū)別

    • throw手動拋出一個異常
    • throws用在方法聲明處件甥,聲明在方法上拋出一個異常,本方法的調用方法負責處理異常
  1. 異常信息獲取的常見函數(shù)

    • e.printStackTrace();
    • e.getMessage(); ---錯誤信息
    • e.getClass().getName(); ---異常名稱
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末哼拔,一起剝皮案震驚了整個濱河市引有,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌倦逐,老刑警劉巖譬正,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異檬姥,居然都是意外死亡曾我,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門健民,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抒巢,“玉大人,你說我怎么就攤上這事秉犹◎让眨” “怎么了稚晚?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長型诚。 經(jīng)常有香客問我客燕,道長,這世上最難降的妖魔是什么狰贯? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任也搓,我火速辦了婚禮,結果婚禮上涵紊,老公的妹妹穿的比我還像新娘傍妒。我一直安慰自己,他們只是感情好栖袋,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布拍顷。 她就那樣靜靜地躺著,像睡著了一般塘幅。 火紅的嫁衣襯著肌膚如雪昔案。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天电媳,我揣著相機與錄音踏揣,去河邊找鬼。 笑死匾乓,一個胖子當著我的面吹牛捞稿,可吹牛的內容都是我干的。 我是一名探鬼主播拼缝,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼娱局,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了咧七?” 一聲冷哼從身側響起衰齐,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎继阻,沒想到半個月后耻涛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡瘟檩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年抹缕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片墨辛。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡卓研,死狀恐怖,靈堂內的尸體忽然破棺而出背蟆,到底是詐尸還是另有隱情鉴分,我是刑警寧澤哮幢,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站志珍,受9級特大地震影響橙垢,放射性物質發(fā)生泄漏。R本人自食惡果不足惜伦糯,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一柜某、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧敛纲,春花似錦喂击、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至旁壮,卻和暖如春监嗜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背抡谐。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工裁奇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人麦撵。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓刽肠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親免胃。 傳聞我的和親對象是個殘疾皇子音五,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法羔沙,內部類的語法放仗,繼承相關的語法,異常的語法撬碟,線程的語...
    子非魚_t_閱讀 31,625評論 18 399
  • 50道經(jīng)典Java編程練習題,將數(shù)學思維運用到編程中來莉撇。抱歉哈找不到文章的原貼了呢蛤,有冒犯的麻煩知會聲哈~ 1.指數(shù)...
    OSET我要編程閱讀 6,960評論 0 9
  • 更換了一個空間涂佃, 把節(jié)奏調得很慢励翼, 突然有些茫然蜈敢, 原來理想中期待的日子, 并非我心底真正的惦念汽抚! 調整好了的時間...
    秀秀王子閱讀 104評論 0 0
  • 張宿 霸道指數(shù):70% 張宿男外表豪放造烁, 內心高傲否过,個性頑固剛愎。 對待愛人忽冷忽熱惭蟋, 但善說甜言蜜語苗桂, 很懂得討...
    老粽子閱讀 16,656評論 4 0
  • 昨天看書看到的喜歡的句子,摘抄在這里: 1 不是因為困難才不去做告组,而是因為不去做才困難煤伟。 2 你所認為的墻壁,實質...
    答案就在你心里28閱讀 259評論 0 0