java基礎-Java 常用類、常用概念(第十九節)

     這篇簡單補充一些java裏面的知識以及概念,最好是學完之前所有的java課程再來看這篇,

  因爲是基礎系列,所以這篇講的常用類和常用概念,不會很複雜,也不會很多,但是都比較重要,建議仔細看看;

 

   1.StringBuffer類和StringBuilder

(1)StringBuffer和StringBuilder人稱sb類,,簡稱而已,不要糾結太多;這2個類主要用於操作字符串的修改,String 類不同的是,StringBuffer 和 StringBuilder 類的對象能夠被多次的修改,並且不產生新的未使用對象,StringBuilder是java5提出的,我們現在用的基本是java8了,他和StringBuffer的區別在於,StringBuffer是線程安全的,而StringBuffer是線程不安全的,先記着,待會我們會講線程安全概念。但是StringBuilder的速度理論上比StringBuffer要快,所以在對線上安全要求不嚴格的情況下,可以用StringBuilder。如果實在不想麻煩,那就建議用StringBuffer,安全就重要。

使用起來比較簡單,舉個栗子;

 

2.Number類

 

         我們之前有講過java提供了8大基本類型,我們在實際開發過程,有時候需要在各個數據類型裏切換類型使用,比如,由於需要你最初定義了一個String類型的字符串數字;String data = “12”;這樣的,但是你後面卻需要用它來進行算術運算,比如做加法,我們之前說過,字符串後面加“+”號是拼接字符串,不是做加法,所以這個時候我們有必要將data這個字符串轉成int類型的數字,這個時候需要就需要用到一個叫Integer類了,我們先整體看下,很容易發現,8大數據類型的6大數據類型的包裝類,都是抽象類Number的子類,ps:還有2個char和boolean,分別是Character和Boolean2個類;

先看代碼:

轉換基本都看懂了吧,比較簡單,可以去試試;

還有一個需要注意的是:包裝類的默認值是null,Integer的默認值是null,就是啥都沒有的意思,int的默認值是0;

 

3.Math類

     Java 的 Math 包含了用於執行基本數學運算的屬性和方法,如初等指數、對數、平方根和三角函數。但是math類用的最多的還是它的round()四捨五入,和random()取隨機數方法;這2個要記住;

(1)round()它表示四捨五入,算法爲 Math.floor(x+0.5),即將原來的數字加上 0.5 後再向下取整,所以,Math.round(11.5) 的結果爲12,Math.round(-11.5) 的結果爲-11。

public class Main {    public static void main(String[] args) {      double[] nums = { 1.4, 1.5, 1.6, -1.4, -1.5, -1.6 };      for (double num : nums) {        test(num);      }    }      private static void test(double num) {      System.out.println("Math.round(" + num + ")=" + Math.round(num));  }  

}

(2)隨機函數random()

注意下:這個隨機數是從1到10包括1和10的;

 

4.異常捕獲,先看個大概圖;

簡單說明:

 

1.異常分爲2大類,並且所有 的異常都是Throwable的子類。

2.Throwable有兩個子類,Error和Exception。其中Error是錯誤發生,對於所有的編譯時期的錯誤以及系統錯誤都是通過Error拋出的。這些錯誤表示故障發生於虛擬機自身、或者發生在虛擬機試圖執行應用時,它們在應用程序的控制和處理能力之 外,而且絕大多數是程序運行時不允許出現的狀況,正常情況不會發生,發生了,也不是你的代碼能解決的。

3.Exception,是另外一個非常重要的異常子類。它規定的異常是程序本身可以處理的異常。異常和錯誤的區別是,異常是可以被處理的,而錯誤是沒法處理的;

4.異常處理


 

(1)通過try catch來處理

try

{
// 程序代碼
}catch(ExceptionName e1)
{
//Catch 塊

}

比如我們上篇文章裏提到的io流操作,需要注意的是,並不是說你加了異常處理代碼,就表示這行代碼會出異常,異常處理代碼是爲了出現異常的時候能捕獲到異常信息,並不能預防代碼出異常,也不能解決異常。。切記。

還有一點:如果上面new FileInputStrem(file)代碼出現異常了,後面省略的代碼是執行不了,直接跳到catch代碼快裏面,執行打印異常信息的代碼了;

 

5.如果你不想在當前方法或者類裏面處理異常,而是想拋出去,給繼承,或者使用這個方法的類或者方法去處理,那你可以使用 throw拋出異常,給調用者處理,這就叫踢皮球,問題出來了,反正我是不管,我只負責通知;

 

好了, 暫時就提這些,後面繼續補充,

歡迎加入途碼技術學習交流二羣,羣聊號碼:322394766

微信公衆號:

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章