<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 基本類型包裝類 基本數據類型對象包裝類:java將基本數據類型值封裝成了對象。封裝成對象有什么好處?可以提供更多的操作基本數值的功能。 ## 概述 ![](https://box.kancloud.cn/80be73fd8c5b97af750a2377f31c0b95_1434x410.jpg) 其中需要注意int對應的是Integer,char對應的Character,其他6個都是基本類型首字母大寫即可。 基本數據類型對象包裝類特點:用于在基本數據和字符串之間進行轉換。 ## 將字符串轉成基本類型 ![](https://box.kancloud.cn/577137d5c83a00f33905178993bf642b_1748x856.jpg) parseXXX(String s);其中XXX表示基本類型,參數為可以轉成基本類型的字符串,如果字符串無法轉成基本類型,將會發生數字轉換的問題 NumberFormatException ~~~ System.out.println(Integer.parseInt("123") + 2); //打印結果為 125 ~~~ ## 基本類型轉成字符串 * 將基本數值轉成字符串有3種方式: - 基本類型直接與””相連接即可;34+"" - 調用String的valueOf方法;String.valueOf(34) ; ![](https://box.kancloud.cn/9e0ff81035eb2132968b1154974440d3_1290x928.jpg) - 調用包裝類中的toString方法;Integer.toString(34) ![](https://box.kancloud.cn/7245abcba6674d2aed74faa0d8316aba_1448x1182.jpg) ## 基本類型和對象轉換 使用int類型與Integer對象轉換進行演示,其他基本類型轉換方式相同。 * 基本數值---->包裝對象 ![](https://box.kancloud.cn/02c75e34a7bef5a239cf620fd7726484_1744x268.jpg) ![](https://box.kancloud.cn/6f0c49eb1b075cba7d7b0b4937955c7d_1488x270.jpg) * 包裝對象---->基本數值 ![](https://box.kancloud.cn/b9bc9d108323d3b98ffba4d1cfaf661d_1272x142.jpg) ## 自動裝箱拆箱 在需要的情況下,基本類型與包裝類型可以通用。有些時候我們必須使用引用數據類型時,可以傳入基本數據類型。 比如: 基本類型可以使用運算符直接進行計算,但是引用類型不可以。而基本類型包裝類作為引用類型的一種卻可以計算,原因在于,Java”偷偷地”自動地進行了對象向基本數據類型的轉換。 相對應的,引用數據類型變量的值必須是new出來的內存空間地址值,而我們可以將一個基本類型的值賦值給一個基本類型包裝類的引用。原因同樣在于Java又”偷偷地”自動地進行了基本數據類型向對象的轉換。 * 自動拆箱:對象轉成基本數值 * 自動裝箱:基本數值轉成對象 ~~~ Integer i = 4;//自動裝箱。相當于Integer i = Integer.valueOf(4); i = i + 5;//等號右邊:將i對象轉成基本數值(自動拆箱) i.intValue() + 5; 加法運算完成后,再次裝箱,把基本數值轉成對象。 ~~~ * 自動裝箱(byte常量池)細節的演示 **當數值在byte范圍之內時,進行自動裝箱,不會新創建對象空間而是使用醫來已有的空間。** ~~~ Integer a = new Integer(3); Integer b = new Integer(3); System.out.println(a==b);//false System.out.println(a.equals(b));//true System.out.println("---------------------"); Integer x = 127; Integer y = 127; //在jdk1.5自動裝箱時,如果數值在byte范圍之內,不會新創建對象空間而是使用原來已有的空間。 System.out.println(x==y); //true System.out.println(x.equals(y)); //true ~~~ # system類 ## 概念 在API中System類介紹的比較簡單,我們給出定義,System中代表程序所在系統,提供了對應的一些系統屬性信息,和系統操作。 System類不能手動創建對象,因為構造方法被private修飾,阻止外界創建對象。System類中的都是static方法,類名訪問即可。在JDK中,有許多這樣的類。 ## 常用方法 ![](https://box.kancloud.cn/e106b09286dd43a08c3e4b340fab0f48_1114x476.jpg) * currentTimeMillis() 獲取當前系統時間與1970年01月01日00:00點之間的毫秒差值 * exit(int status) 用來結束正在運行的Java程序。參數傳入一個數字即可。通常傳入0記為正常狀態,其他為異常狀態 * gc() 用來運行JVM中的垃圾回收器,完成內存中垃圾的清除。從程序的運行結果可以發現,執行System.gc()前,系統會自動調用finalize()方法清除對象占有的資源,通過super.finalize()方式可以實現從下到上的finalize()方法的調用,即先釋放自己的資源,再去釋放父類的資源。 但是,不要在程序中頻繁的調用垃圾回收,因為每一次執行垃圾回收,jvm都會強制啟動垃圾回收器運行,這會耗費更多的系統資源,會與正常的Java程序運行爭搶資源,只有在執行大量的對象的釋放,才調用垃圾回收最好 * getProperty(String key) 用來獲取指定鍵(字符串名稱)中所記錄的系統屬性信息 System.out.println(System.getProperties()); ![](https://box.kancloud.cn/7f70f559bde15b7ab70d8fe4b1b44cb2_1170x1492.jpg) * arraycopy方法,用來實現將源數組部分元素復制到目標數組的指定位置 ![](https://box.kancloud.cn/40f3648a2847bd2e440104725611ba41_1548x268.jpg) 例子: 將src數組中前3個元素,復制到dest數組的前3個位置上 復制元素前:src數組元素[1,2,3,4,5],dest數組元素[6,7,8,9,10] 復制元素后:src數組元素[1,2,3,4,5],dest數組元素[1,2,3,9,10] ~~~ public static void main(String[] args) { int[] src = new int[]{1,2,3,4,5}; int[] dest = new int[]{6,7,8,9,10}; System.arraycopy( src, 0, dest, 0, 3); 代碼運行后:兩個數組中的元素發生了變化 src數組元素[1,2,3,4,5] dest數組元素[1,2,3,9,10] } ~~~ # Math ## 概念 Math 類是包含用于執行基本數學運算的方法的數學工具類,如初等指數、對數、平方根和三角函數。 類似這樣的工具類(代表能夠完成一系列功能的類,在使用它們時,不用創建對象,該類中方法為靜態方法),其所有方法均為靜態方法,并且一般不會創建對象。如System類 ## 常用方法 ![](https://box.kancloud.cn/dc31c93bf05d0f550a63c0d9798d508a_2222x1056.jpg) # Arrays類 ## 概念 此類包含用來操作數組(比如排序和搜索)的各種方法。需要注意,如果指定數組引用為 null,則訪問此類中的方法都會拋出空指針異常NullPointerException。 ## 常用方法 ![](https://box.kancloud.cn/3b0e22a7b57b93a1fa0b5e4ee07cc2ad_1946x442.jpg) 二分查找要求為排序的數組 # 大數據運算 ## BigInteger java中long型為最大整數類型,對于超過long型的數據如何去表示呢.在Java的世界中,超過long型的整數已經不能被稱為整數了,它們被封裝成BigInteger對象.在BigInteger類中,實現四則運算都是方法來實現,并不是采用運算符. BigInteger類的構造方法: ![](https://box.kancloud.cn/72c2ca6b09befce0f48e573bcf3a84e0_2198x884.jpg) 構造方法中,采用字符串的形式給出整數 四則運算代碼: ~~~ public static void main(String[] args) { //大數據封裝為BigInteger對象 BigInteger big1 = new BigInteger("12345678909876543210"); BigInteger big2 = new BigInteger("98765432101234567890"); //add實現加法運算 BigInteger bigAdd = big1.add(big2); //subtract實現減法運算 BigInteger bigSub = big1.subtract(big2); //multiply實現乘法運算 BigInteger bigMul = big1.multiply(big2); //divide實現除法運算 BigInteger bigDiv = big2.divide(big1); } ~~~ ## BigDecimal double和float類型在運算中很容易丟失精度,造成數據的不準確性,Java提供我們BigDecimal類可以實現浮點數據的高精度運算 構造方法如下: ![](https://box.kancloud.cn/261d36415155d44e3e2a6965bd7ad6e0_2275x1641.jpg) 建議浮點數據以字符串形式給出,因為參數結果是可以預知的 ~~~ public static void main(String[] args) { //大數據封裝為BigDecimal對象 BigDecimal big1 = new BigDecimal("0.09"); BigDecimal big2 = new BigDecimal("0.01"); //add實現加法運算 BigDecimal bigAdd = big1.add(big2); BigDecimal big3 = new BigDecimal("1.0"); BigDecimal big4 = new BigDecimal("0.32"); //subtract實現減法運算 BigDecimal bigSub = big3.subtract(big4); BigDecimal big5 = new BigDecimal("1.105"); BigDecimal big6 = new BigDecimal("100"); //multiply實現乘法運算 BigDecimal bigMul = big5.multiply(big6); ~~~ 對于浮點數據的除法運算,和整數不同,可能出現無限不循環小數,因此需要對所需要的位數進行保留和選擇舍入模式 ![](https://box.kancloud.cn/247695f59d0ad1bbee4acb87ca163987_2154x186.jpg) ![](https://box.kancloud.cn/76c7d2da878e7ffb9d42da7183ee7127_2384x1270.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看